検索
ホームページウェブフロントエンドCSSチュートリアルCSS3+fullPage.js は全画面スクロール効果コードを実装します

この記事では、全画面スクロール効果を実現するための fullPage.js と CSS3 について詳しく紹介します。興味のある方は参考にしてください。

まず、fullpage について説明します。 jquery このプラグインは、マウスを上下にスライドさせると、自動的に前の画面または次の画面に切り替わることを実現するために使用されます。これは、確かにいくつかのハイエンドエフェクトを作成するための優れたプラグインです。まず、基本的なレンダリングを示します。

コンテンツは全部で4画面あります


CSS3+fullPage.js は全画面スクロール効果コードを実装します

CSS3+fullPage.js は全画面スクロール効果コードを実装します

CSS3+fullPage.js は全画面スクロール効果コードを実装します

CSS3+fullPage.js は全画面スクロール効果コードを実装します

マウスを上下にスライドさせるたびに画面全体が切り替わります。

最初の画面は1枚の写真を使用し、他の3つの画面は左側の3枚の写真と右側の2枚の写真で構成されています。

これら 3 つの画面の左側の写真はさまざまな方法で拡大されるため、よりクールな効果があります。

ページが表示されると、2番目の画面の3つの写真が下から上に正しい位置に表示されます。
3番目の画面の3つの画像は、ページが表示されるときに左から右に正しい位置に拡大されます。
4番目の画面の3つの写真は、ページが表示されたときに中央から両側に正しい位置に拡大されます。

ステップ 1: Fullpage には CSS と JS が含まれており、それらをインポートします。

<script type="text/javascript" src = "./jQuery/jquery-3.2.0.min.js"></script>
<link rel="stylesheet" type="text/css" href="./fullpage/jquery.fullPage.css">
<script type="text/javascript" src = "./fullpage/jquery.fullPage.min.js"></script>

2 番目のステップ: HTML で適切な要素を作成する:

<p class = "main">

  <p class="section page1">
    <img  src="/static/imghwm/default1.png"  data-src="./images/page1.png"  class="lazy"   alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
  </p>
  <p class="section page2">
    <p class = "list">
      <img  src = "./images/page2_1.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  src = "./images/page2_2.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  src = "./images/page2_3.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
    </p>
      <img  class = "text" src = "./images/page2_4.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  class = "bg" src = "./images/page2_5.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >

  </p>
   <p class="section page3">
    <p class = "list">
      <img  src = "./images/page3_1.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  src = "./images/page3_2.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  src = "./images/page3_3.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
    </p>
    <img  class = "text" src = "./images/page3_4.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  class = "bg" src = "./images/page3_5.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
  </p>

    <p class="section page4">
    <p class = "list">
      <img  src = "./images/page4_1.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  src = "./images/page4_2.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  src = "./images/page4_3.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
    </p>
      <img  class = "text" src = "./images/page4_4.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
      <img  class = "bg" src = "./images/page4_5.png" alt="CSS3+fullPage.js は全画面スクロール効果コードを実装します" >
  </p>

</p>
 <p id = "audioBox">
    <audio id = "audio" autoplay loop src= "./music/music.mp3"></audio>
  </p>

には、4 つの画面のコンテンツと、音楽を再生するためのオーディオ要素が含まれています。

ステップ 3: fullpage の js を使用して各画面の背景色を実装し、js を使用して音楽を一時停止します

//1.fullpage,由于有四屏,其颜色也一样
    $(".main").fullpage({
sectionsColor: [&#39;#1bbc9b&#39;,&#39;#1bbc9b&#39;,&#39;#1bbc9b&#39;,&#39;#1bbc9b&#39;]
    });

    //2.控制音频的播放
    var audioBox = document.getElementById(&#39;audioBox&#39;);
    var audio = document.getElementById("audio");

    audioBox.onclick = function(){

    if(audio.paused){
      audio.play();
    }
    else
    {
      audio.pause();
    }
  }

ステップ 4: CSS を使用してレイアウト:

<style type="text/css">
  *{
    margin: 0;
    padding:0;
  }

 //设置背景音乐的图标
  #audioBox{
    width: 45px;
    height: 45px;
    position: absolute;
    background: url(./images/music_on.png) no-repeat center;
    border-radius: 22px;
    top: 5%;
    right: 3%;
    cursor: pointer;
  }

  //让每屏超出的都自动隐藏
  .section{
    overflow: hidden;
  }

  /*设置第一屏的图片,因为第一屏也只有一个图片*/
  .page1 img{
    width: 50%;
    margin-left: 30%;
  }

 /*从第二屏开始都包含一个class=list的元素块,设置其距离左侧的距离*/
  [class *= "page"] .list{
    margin-left: 5%;
  }

 /*让左边的图片的宽度都为240px*/
  [class *= "page"] .list img{
    width: 240px;

  }

  /*利用属性选择器,选出所有页的背景图片*/
  [class *= "page"] .bg{
    position: absolute;
    bottom: 5%;
    right: 5%;
    width: 30%;
  }

  /*利用属性选择器,选择出所有页的文字图片*/
  [class *= "page"] .text{
    position: absolute;
    top: 10%;
    right: 5%;
  }

4 番目のステップを通過した後の基本的な効果は完成しましたが、最後の点は、4画面の絵に

アニメーション効果が実装されていないことです。

ステップ 5: アニメーション効果を実現します。

1. 現在どの画面にスクロールしているかを確認する方法は?


fullpage は現在のページにアクティブなクラスを追加するため、そのクラスを使用して、現在のページでアニメーションがいつトリガーされるかを決定できます。


2. 最初の画面のアニメーションを実現します


最初の画面は主に画像のフェードイン効果です。

アイデア: 不透明度属性を変更して透明度を変更し、トランジションと組み合わせてフェードイン効果を実現します。

.page1 img{
    opacity: 0;  /*初始状态为全透明*/
    /*加上供应商前缀,持续时间为1.5s*/
    -moz-transition: opacity 1.5s;
    -webkit-transition: opacity 1.5s;
  }

/*当第一页显示的时候触发,当第一页时就会自动加上active类*/
  .page1.active img{
    opacity: 1;
  }

3. 2 番目の画面のアニメーションを実装します。ページが表示されたら、ウィンドウを下から上にスライドさせます。 中心的なアイデア: trans
for
m:translateYとtransitionを使用して実装します。

transitionは属性値の変更を検出します

translateY translation
4. 3番目の画面のアニメーションを実現します

画面が左右に移動する場合、水平方向を制御するためにtranslateXが必要です。まず、初期状態では一番左に3枚の絵が重なるようにして、2番目の画面の例に倣って順番に広げていきます。

この画面上の2つの画像の初期位置が大きく異なるので、一番左の画像に重ね合わせて、これら2つの画像にそれぞれtranslateXを設定します

/*动画的完成时间为1s,初始位置三个图片都处于向下移动到1000像素,即移出屏幕外。*/
  .page2 .list img{
    transition:1s;
    transform: translateY(1000px);
  }

 /*当第二屏触发时,图片回到原始位置*/
  .page2.active .list img{
    transform:translateY(0px);
  }

/*利用结构化伪类找到每一个图片并设置延时,为了使动画更灵活*/
  .page2 .list img:nth-child(1){
    transition-delay: 0.5s;
  }
  .page2 .list img:nth-child(2){
    transition-delay: 0.8s;
  }
  .page2 .list img:nth-child(3){
    transition-delay: 1s;
  }

5. 5番目の画面のアニメーションを設定します。

5番目の画面のアニメーションは、左側の3枚の絵が最初に中央の絵に重なって、トリガーされると元の位置に戻るというものです。

① 上記の考え方に従って、tanslateX を使用することで実現できます。

.page .list img{ 
/设置动画持续时间为1s,动画开始时延迟0.5s/ 
transition: 1s 0.5s; 
}
② css3 のアニメーションプロパティを使用することもできます:
key
frames

.page .list img:nth-child(2){ 
/向左移动了250px刚好与第一个重叠/ 
transform:translateX(-250px); 
}

.page .list img:nth-child(3){ 
/向左移动了500px刚好与第一个重叠/ 
transform:translateX(-500px); 
}

/设置触发时的动画,让所有的img归位/ 
.page3.active .list img{ 
transform:translateX(0px); 
}

キーフレームのパラメータについては、マニュアルを確認して慣れてください。

上記のコードで、かっこいい全画面スクロールページが完成しました!

添付されたソースコード:

.page4 .list img{
    transition: 1s 0.5s;
  }
  /*设置第一个和第三个的初始位置处于中间的位置上*/
  .page4 .list img:nth-child(1){
    transform:translateX(250px);
  }
  .page4 .list img:nth-child(3){
    transform:translateX(-250px);
  }
 /*触发时归位*/
  .page4.active .list img{
    transform:translateX(0px);
  }

【関連推奨事項】

1.

無料CSSオンラインビデオチュートリアル

2.

php.cn Dugu Jiijian (2)-cssビデオチュートリアル

以上がCSS3+fullPage.js は全画面スクロール効果コードを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
css怎么隐藏元素但不占空间css怎么隐藏元素但不占空间Jun 01, 2022 pm 07:15 PM

两种方法:1、利用display属性,只需给元素添加“display:none;”样式即可。2、利用position和top属性设置元素绝对定位来隐藏元素,只需给元素添加“position:absolute;top:-9999px;”样式。

原来利用纯CSS也能实现文字轮播与图片轮播!原来利用纯CSS也能实现文字轮播与图片轮播!Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

css3什么是自适应布局css3什么是自适应布局Jun 02, 2022 pm 12:05 PM

自适应布局又称“响应式布局”,是指可以自动识别屏幕宽度、并做出相应调整的网页布局;这样的网页能够兼容多个不同的终端,而不是为每个终端做一个特定的版本。自适应布局是为解决移动端浏览网页而诞生的,能够为使用不同终端的用户提供很好的用户体验。

css3如何实现鼠标点击图片放大css3如何实现鼠标点击图片放大Apr 25, 2022 pm 04:52 PM

实现方法:1、使用“:active”选择器选中鼠标点击图片的状态;2、使用transform属性和scale()函数实现图片放大效果,语法“img:active {transform: scale(x轴放大倍数,y轴放大倍数);}”。

css3动画效果有变形吗css3动画效果有变形吗Apr 28, 2022 pm 02:20 PM

css3中的动画效果有变形;可以利用“animation:动画属性 @keyframes ..{..{transform:变形属性}}”实现变形动画效果,animation属性用于设置动画样式,transform属性用于设置变形样式。

css3怎么设置动画旋转速度css3怎么设置动画旋转速度Apr 28, 2022 pm 04:32 PM

在css3中,可以利用“animation-timing-function”属性设置动画旋转速度,该属性用于指定动画将如何完成一个周期,设置动画的速度曲线,语法为“元素{animation-timing-function:速度属性值;}”。

一文了解CSS3中的新特性 ::target-text 选择器一文了解CSS3中的新特性 ::target-text 选择器Apr 12, 2022 am 11:24 AM

本篇文章带大家一起深入了解一下CSS3中的新特性::target-text 选择器,聊聊该选择器的作用和使用方法,希望对大家有所帮助!

css3线性渐变可以实现三角形吗css3线性渐变可以实现三角形吗Apr 25, 2022 pm 02:47 PM

css3线性渐变可以实现三角形;只需创建一个45度的线性渐变,设置渐变色为两种固定颜色,一个是三角形的颜色,另一个为透明色即可,语法“linear-gradient(45deg,颜色值,颜色值 50%,透明色 50%,透明色 100%)”。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境