カルーセル効果を実現するためのネイティブ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 トリガーの追加、削除、変更、クエリ操作の例

推薦する

Vueは開始時間と終了時間の範囲クエリを実装します

この記事では、Vueで開始時間と終了時間の範囲を照会する方法を参考までに紹介します。具体的な内容は次...

Nginx サービス クイック スタート チュートリアル

目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...

Vue でログインと登録テンプレートを実装するためのサンプルコード

テンプレート 1: ログイン.vue <テンプレート> <p class=&quo...

CSSトランジションは高さを変更することで要素を拡大したり縮小したりします。

一般的な開発ニーズとして、要素の一部を必要になるまで折りたたんでおきたいことが挙げられます。 Boo...

MySQLサービスを開くおよび閉じる2つの方法

方法1: cmdコマンドを使用するまず、DOS ウィンドウを開き、スタート、実行、cmd と入力しま...

順序再構築に関する簡単な説明: MySQL シャーディング

目次1. 目的2. 環境整備1. 基本情報2. データベース環境の準備3. データベースを構築し、サ...

よく使われるn番目の子セレクターをまとめる

序文フロントエンドプログラミングでは、奇数、偶数などの数値を受け入れることができる nth-chil...

Vue は QR コード スキャン機能を実装します (スタイル付き)

必要: vue を使用して QR コードのスキャンを実現します。プラグイン: QRコードリーダー;プ...

設計仕様に準拠した設計は良い設計でしょうか?

これまでの数年間、私はいわゆる「設計仕様」についてかなりの数の執筆やコンサルティングを行ってきました...

MySQL ソート機能の詳細

目次1. 問題のシナリオ2. 原因分析3. 解決策4. 知識を広げる4.1 クエリの最適化を制限する...

MySQLがクエリキャッシュをキャンセルした理由

MySQL には以前、クエリ キャッシュ (Query Cache) がありました。8.0 以降では...

MySQLのあいまいクエリインデックスの失敗の問題を解決するいくつかの方法

% ワイルドカードを使用すると、インデックス失敗の問題が発生することがよくあります。ここでは、lik...

ページコンテンツ全体を中央に配置して、高さがコンテンツに合わせて自動的に拡張されるようにする方法

ページコンテンツ全体を中央に配置する方法と、コンテンツに合わせて高さを自動的に拡大縮小する方法。これ...

Docker の NFS-Ganesha イメージを使用して NFS サーバーを構築する詳細なプロセス

目次1. NFS-Ganeshaの紹介2. NFS-Ganeshaの設定3. NFS-Ganesha...