画像のフェードインとフェードアウト効果を実現する 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 の複数インスタンスの実装

推薦する

フレックスレイアウトは、1行あたりの固定行数と適応レイアウトを実現します。

この記事では、1行あたりの固定行数+アダプティブレイアウトを実現するフレックスレイアウトを紹介し、皆...

州と市町村の連携を簡単に実現するJavaScript

この記事では、省と市の簡単な連携を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Vue3 (パート 2) Ant Design Vue の統合

目次1. Ant Design Vueを統合する2. コンポーネントの使用1. 完全な引用2. コン...

MACでMYSQLデータベースのパスワードを忘れた場合の解決策

Mac オペレーティングシステムで MYSQL データベースのパスワードを忘れた場合の簡単な解決策1...

SSHトンネルを使用してMySQLサーバーに接続する方法

序文場合によっては、データベースのイントラネット アドレスしか知らず、イントラネット経由で接続できな...

MySQL でよく使用されるステートメントの包括的な概要 (必読)

以下にまとめたナレッジポイントはどれもよく使われる貴重な情報ばかりですので、ぜひ上手に集めてください...

vue-router からのフロントエンドルーティングの 2 つの実装

目次モードパラメータハッシュ履歴ハッシュ履歴.push()ハッシュ履歴.replace()アドレスバ...

MySQL の frm ファイルからテーブル構造を復元する 3 つの方法 [推奨]

mysql が正常に実行されている場合、テーブル構造を表示することは難しくありません。しかし、場合...

Vue 学習 - VueRouter ルーティングの基礎

目次1. Vueルーター1. 説明2. 選択したルートのレンダリング: 3. 基本的な動作原理2. ...

Centos7 に Nginx 統合 Lua サンプル コードをインストール

序文私が使用しているパソコンはMacで、OSはmacOS Mojaveです。コンピュータに仮想マシン...

HTML の入力の readonly 属性と disabled 属性の違いについて簡単に説明します。

「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにしま...

MySQLのINサブクエリによってインデックスが使用できなくなる問題を解決する

今日は、MySQL IN サブクエリの最適化に関するケーススタディを見ました。最初は少し懐疑的でした...

MySQL の効率的なクエリの左結合とグループ化 (プラス インデックス)

mysql 効率的なクエリMySQL は、左結合の速度を上げるために group by を犠牲にし...

MySQLデッドロック問題の詳細な分析

序文私たちのビジネスがまだ初期段階にあり、同時実行の度合いが比較的低い場合、数年間はデッドロックの問...

MySQL 5.7.17 インストール グラフィック チュートリアル (Windows)

最近データベースを学び始めたのですが、とても興味深いコースだと感じていますが、含まれる内容の多くは私...