画像のフェードインとフェードアウト効果を実現する js

画像のフェードインとフェードアウト効果を実現する js

この記事では、画像のフェードインとフェードアウトを実現するためのjsの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

分析プロセス:

1. 最大の親要素に複数の画像を追加し、最初の画像の透明度を1に設定します。不透明度: 1

残りの画像の透明度は 0 です。
画像の下に点の列を配置する

2. 各画像を取得し、レベル サイズを 4 から 0 まで順番に設定して、異なるレベルを動的に設定します。

Setz_index:関数(){
        for(var i=0;i<this.Photo.length;i++){
            インデックス=i;
            this.Photo[i].style.zIndex =this.Photo.length-i-1;
        }
    },

3. 画像の表示方法を時計回りまたは反時計回りの 2 通りに設定します。画像が変わると、対応するドットも変わります。表示される画像は最高レベルで透明度が 1 ですが、残りの画像は透明度が 0 で、対応する小さな点の色がピンク色に変わります。

アニメーションzindex:function(math,count){
       for(var i=0;i<count;i++){
         for(var k=0;k<this.Photo.length;k++) {
            //コンソール.log(1);
           var index = parseInt (this.Photo[k].style.zIndex); //43210 04321 10432
           if(math=="n"){
             index++; // ドットの色が左から右に変わります if(index ==this.Photo.length){
                 インデックス=0;
                 this.Photo[k].style.opacity =0;
                 this.Crclelist[k].style.background="#fff";
             }
             if(index==this.Photo.length-1){
                 this.Photo[k].style.opacity= 1;
                 this.Crclelist[k].style.background="ピンク";
                 this.Savecolor= this.Crclelist[k];

             }
           }
             それ以外{
               index--; // ドットの色が右から左に変わります if(index==-1){
                   インデックス=this.Photo.length-1;
               }
               if(index==this.Photo.length-1){
                   this.Photo[k].style.opacity= 1;
                   this.Crclelist[k].style.background="ピンク";
                   this.Savecolor= this.Crclelist[k];
               }
               if(index==this.Photo.length-2){
                   this.Photo[k].style.opacity =0;
                   this.Crclelist[k].style.background="#fff";
               }
           }
             this.Photo[k].style.zIndex =インデックス;
         }
       }
    },

4. デフォルト値を設定して、最初のドットの色をピンクにします。マウスが最大の親要素にスライドすると、画像の回転が停止します。マウスが小さなドットにスライドすると、現在のドットの左から入る場合と右から入る場合の 2 つの状況に分かれます。

Moren_set:関数(){
        var _this_ は、次のようになります。
        that.Crclelist[0].style.background="ピンク";
        that.Savecolor =that.Crclelist[0];
        that.Bigblock.onmouseenter=関数(){
            // コンソールログ(1);
            window.cancelAnimationFrame(glider.Timeset);
        };
        that.Bigblock.onmouseleave=関数(){
            グライダー.タイムライン();
        }
        //ポイントイベント、画像の変化に従う for(var i=0;i<that.Crclelist.length;i++){
            that.Crclelist[i].index=i;
            that.Crclelist[i].onmouseenter =function(){
              var oldindex=that.Savecolor.index;
              var newindex=this.index; //マウスがスライドするドットのインデックス。これは現在のドットのスライド イベントを参照します// console.log(newindex);
                if(newindex -oldindex >0) { //現在のドットの右から入力します var ri=newindex -oldindex;
                  // コンソールログ(ri);
                    var le = that.Crclelist.length-ri;
                   // コンソールログ(le);
                    if(ri<=le){
                        console.log("右へ",ri);
                        that.Animatezindex("n",ri);
                    }
                    もしも(ri>le){
                        console.log("左へ",le);
                        that.Animatezindex("s",le);
                    }
                }
                そうでない場合 (新しいインデックス - 古いインデックス < 0) {
                    var ri1=Math.abs(newindex-oldindex); //絶対値を取得 var le1=that.Crclelist.length-ri1;
                    ri1<=le1の場合{
                        console.log("左", ri1);
                        that.Animatezindex("s",ri1);
                    }
                    ri1>le1の場合{
                        console.log("right", le1);
                        that.Animatezindex("n",le1);
                    }

                }
            }
        }
    }

5. 時間に応じて画像の回転を変更する回転イベントを設定します。

タイムライン:function(){
        var nowtime = new Date().getTime();
        if((nowtime - glider.Oldtime) >= glider.TimeDely ){
            glider.Oldtime =nowtime;
            glider.Animatezindex("n",1); //右に変更します}
        //setTimeout メソッドと setInterval メソッドを使用して、スクリプトにアニメーションを実装できます。
        // ただし、これは十分にスムーズではない可能性があり、余分なリソースを消費することになります。
        //requestAnimationFrame メソッドは、アニメーションを再サンプリングしてループ再生するようにブラウザに通知するために使用されます。
        /*アニメーションフレームをキャンセル
        cancelAnimationFrame メソッドは、以前にスケジュールされたアニメーション フレームの更新要求をキャンセルするために使用されます。 */
       glider.Timeset = window.requestAnimationFrame(glider.Timelines);
 }

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 画像カルーセルのフェードインとフェードアウト効果を実現するためのネイティブ js と jQuery
  • js でフェードインとフェードアウト効果を実現する方法
  • ネイティブjsはフェードインとフェードアウト効果を実装します
  • js を使用して、シンプルな画像のフェードインとフェードアウトの切り替え効果を実現します。
  • js フェードインとフェードアウト画像カルーセル効果コード共有
  • js フェードインとフェードアウトを制御するサンプルコード
  • JS を使用して画像の遅延読み込みとフェードイン/フェードアウト効果を実装する簡単な方法
  • jsは画像読み込みのフェードインとフェードアウト効果を実現します
  • フェードインとフェードアウトのカルーセル切り替え機能を実現する js
  • js モーション フレームワーク_画像のフェードインとフェードアウト効果を含む

<<:  MyISAMとInnoDBの違いについてお話しましょう

>>:  単一マシン上での Tomcat の複数インスタンスの実装

推薦する

Linux でファイル内の特定の文字の数を数える方法

ファイル内の文字列の数を数えることは、実際には砂の中の石を探すようなものです。ある人は、石を見た後に...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

デザインにおいて無視できないインタラクティブデザインにおける製品状態の分析

製品デザインのプロセスにおいて、デザイナーは常に写真を非常に美しくすることを好みます。仮想ページのコ...

パーティショニングを使用して数十億のデータに対する MySQL データ処理を最適化する方法

MySQL が数千万のデータをクエリする場合、ほとんどのクエリ最適化の問題はインデックスを通じて解決...

Linux コマンドを素早く習得する 4 つの方法

Linux マスターになりたいなら、いくつかの Linux コマンドを習得することが不可欠です。 L...

Centos8 は kdc 暗号化に基づいて nfs を構築します

目次構成nfs サーバー (nfs.skills.com) nfs クライアント (client.s...

MySQLデータベースを操作するためのコマンドラインツールmycliの簡単な紹介

GitHub にはあらゆる種類の魔法のツールがあります。今日、私はデータベースを操作するためのコマン...

https暗号化アクセス用にnginxを設定するための詳細なチュートリアル

環境: 1 CentOS Linux リリース 7.5.1804 (コア)ファイアウォールと sel...

MySQL Innodb ストレージ構造と Null 値の保存の詳細な説明

背景:テーブルスペース: すべての INNODB データはテーブルスペース (共有テーブルスペース)...

ECMAScript6 におけるマップマッピングの基本概念と一般的な方法

目次マッピングとは何かオブジェクトとマップの違いマップの共通メソッド宣言と初期化割り当てセットキー値...

Alibaba Cloud OSS アクセス権設定(RAM 権限制御)実装

シナリオmyBuket の static/material/ ディレクトリなど、Alibaba Cl...

Node.jsで子プロセスを作成する方法

目次導入子プロセスプロセスを非同期的に作成する同期作成プロセス導入Node.js のメイン イベント...

Linux redis-Sentinel 設定の詳細

ダウンロードダウンロードアドレス: https://redis.io/download /usr/l...

さまざまな解像度やブラウザでウェブページを適切に表示する方法

キーコードは次のとおりです。コードをコピーコードは次のとおりです。 html{高さ:100%; }コ...

MySQL 基本チュートリアル パート 1 MySQL5.7.18 のインストールと接続チュートリアル

この記事から、MySQL を紹介し学習するための新しい一連の記事がスタートします。なぜ MySQL ...