カルーセル効果を実現するためのネイティブJavaScript+CSS

カルーセル効果を実現するためのネイティブJavaScript+CSS

この記事では、参考までに、カルーセル効果の具体的なコードをJavaScript+CSSを使用して実装します。具体的な内容は次のとおりです。

1.html

<ul id="バナー" ></ul>

2.css

ul{
    リストスタイル:なし;
    位置: 絶対;
    パディング: 0;
    左: 0;
    右: 0;
    下部: 0;
    トップ:0;
    マージン:自動;
    幅: 800ピクセル;
    高さ:200px;
}

3.js

//カルーセルエクスポート関数を生成するgenerateBanner(){
  sz = new Array() とします。
  cur_ul = document.getElementById('バナー');
  const 推奨 = this.recommends;

  タイマーをsetInterval(getNextLi, 3000);に設定します。

  //カルーセル画像を生成する
  (i = 0 とします; i < 推奨長さ; i++) {
    //タグを生成する let cur_li = document.createElement("li");
    cur_img = document.createElement("img"); とします。
    //属性を追加 cur_img.src = recommends[i].pic;
    //スタイルを追加 cur_li.style.position = 'absolute';
    cur_li.style.left = '0px';
    cur_li.style.transitionDuration = '0.4s';
    cur_li.style.cursor="ポインター";

    //ul 合計幅 800、完全な 400px が 1 つと不完全な 200px が 2 つ表示
    cur_img.style.width = '125px';
    cur_img.style.height = "100px";

    //子要素を追加します cur_li.appendChild(cur_img);
    cur_ul.appendChild(cur_li);

    //操作を簡単にするためにすべてを配列に入れる sz.push(cur_li);
  }

  // 2 つのアイコンを生成します generateAngleIcons();

  //最後の3つの画像を使用して表示します。let len ​​= sz.length - 1;
  //最後から3番目 showThreeLi();

  //次のli表示を取得し、最初のものを配列の末尾に配置します。関数getNextLi() {
    li = sz[0];
    sz = sz.スライス(1);
    sz.push(li);

    //すべてのliが復元されます for (let i = 0; i < sz.length; i++) {
      //すべてのliは元のサイズに復元されます sz[i].style.transform = "scale(1)";
      sz[i].style.left = "0px";
      //liは小さいものから大きいものまでカバーします sz[i].style.zIndex = i;

      //すべて非表示 sz[i].style.display = "none";
    }
    //最後の3枚の写真を表示します。showThreeLi();

  }

  //最後の3枚の写真を表示する function showThreeLi() {
    sz[len - 2].style.left = "0px";
    //最後から2番目の画像 sz[len - 1].style.left = "120px";
    sz[長さ - 1].style.zIndex = 100;
    sz[len - 1].style.transform = "scale(1.3)";
    // 最後の sz[len].style.left = "230px";

    //ディスプレイ sz[len - 2].style.display = "block";
    sz[len - 1].style.display = "ブロック";
    sz[len].style.display = "ブロック";
  }


  関数generateAngleIcons(){
    const icons = 新しい配列();

    (i = 0; i < 2; i++ とします) {
      //アイコンを生成する
      cur_li = document.createElement("li"); とします。
      //スタイルを追加 cur_li.style.position = 'absolute';
      cur_li.style.top = '0px';
      cur_li.style.bottom = '0px';
      cur_li.style.margin = "自動";
      cur_li.style.paddingTop="100px";
      cur_li.style.paddingBottom="100px";
      cur_li.style.zIndex = 20;
      アイコンをプッシュします(cur_li);
    }

    アイコン[0].style.left = '0px';
    アイコン[1].style.right = '0px';
    icons[0].innerHTML = '<i class="angle left icon"></i>'
    icons[1].innerHTML = '<i class="angle right icon"></i>'
    cur_ul.appendChild(アイコン[1]);
    cur_ul.appendChild(アイコン[0]);
  }
}

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

以下もご興味があるかもしれません:
  • モバイル カルーセルを実装するための JavaScript + CSS + HTML (ソース コードを含む)
  • スライドショーカルーセルを実装するための JS+CSS3
  • 3D カッティングカルーセルを実装するための JS+CSS
  • html+js+css を使用してページ カルーセル効果を実現する (例の説明)
  • ネイティブ js でカルーセルを実装するためのサンプル コード
  • カルーセルの完全なコードを実装するためのjs
  • 携帯電話のスライドスイッチカルーセル画像の例をサポートする効果を実現するためのjs
  • JS カルーセル図の実装の簡単なコード
  • js で左右のボタンをクリックして画像を再生する
  • カードカルーセル効果を実現するための js+css

<<:  Ubuntu LinuxにOracle Java 14をインストールする方法

>>:  MySQL トリガーの追加、削除、変更、クエリ操作の例

推薦する

winx64 での mysql5.7.19 の基本的なインストール プロセス (詳細)

1. ダウンロード参考: https://www.jb51.net/softs/451120.ht...

MySQLビューの原理と使用法の詳細な説明

この記事では、例を使用して MySQL ビューの原理と使用方法を説明します。ご参考までに、詳細は以下...

Nginx リバース プロキシを使用してクロスドメイン問題を解決する方法の詳細な説明

質問前回のクロスドメイン リソース共有に関する記事では、ドメイン間で Cookie を送信する場合、...

Linux クラウド サーバー上に SFTP サーバーとイメージ サーバーを構築する方法

まず、SFTP プロトコルと FTP プロトコルの違いを理解してください。ここでは詳細には触れません...

Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

目次TomcatをインストールするTomcat 圧縮パッケージをダウンロードTomcatには3つの主...

MySQLで最新のトランザクションIDを照会する方法

前に書いた内容: ビジネス ロジックの判断を行うために、最新のトランザクション ID を表示する必要...

Vueのシンプルな状態管理ストアモードを理解する方法

目次概要1. store.jsを定義する2. store.js を使用するコンポーネント3. 成果を...

Ansible を使用した Nginx のバッチ デプロイのサンプル コード

1.1 nginxインストールパッケージとインストールスクリプトをクライアントにコピーし、スクリプト...

Linuxでブーストライブラリをインストールするための完全な手順

序文Boost ライブラリは、標準ライブラリのバックアップとして機能し、C++ 標準化プロセスの開発...

MySQL で distinct メソッドを使用する詳細な例

明確な意味: distinctive は、一意のレコードの数を照会するために使用されます。つまり、d...

WeChatアプレットは記録機能を実装します

この記事では、WeChatアプレットのレコード機能を実装するための具体的なコードを参考までに紹介しま...

Vue で v-for を更新する方法

ヒント:配列変更メソッドによりv-forが更新され、ページが更新されます。配列を変更しないメソッド:...

Reactは無限ループスクロール情報を実装する

この記事では、無限ループスクロールを実現するためのReactの具体的なコードを参考までに紹介します。...

Vueでタイマーをエレガントにクリアする方法

目次序文最適化派生的な質問: beforeDestroy はトリガーされませんか?序文タイマーをクリ...

Docker データボリュームの一般的な操作コードの例

開発者が Dockerfile を使用してイメージをビルドする場合は、イメージをビルドするときにデー...