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

推薦する

docker によってプルされたイメージがどこに保存されるかの詳細な説明

docker によってプルされたコマンドは、デフォルトでは /var/lib/docker/ フォル...

JavaScript を使用してハイパーリンクのリダイレクトを防ぐ方法 (複数の書き方)

JavaScript を使用すると、ハイパーリンクがジャンプするのを防ぐことができます。方法は次の...

IE6 で PNG-24 形式の画像を正常に表示させる 2 つの方法

方法1: </html>の後に次のコードを追加してください。コードをコピーコードは次のと...

MySQL でテーブルデータをクリアする 2 つの方法とその違い

MySQL でデータを削除するには 2 つの方法があります。切り詰めは大まかな伐採の一種である削除は...

HTML の空リンク href="#" と href="javascript:void(0)" の違い

# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...

MySQL インストール図の概要

MySQL 5.5 のインストールと設定方法のグラフィックチュートリアルMySQL 5.5 のインス...

dockerにmysqlをインストールした後にNavicatが接続できない問題に対する完璧な解決策

1. Dockerがイメージをプルするdocker pull mysql (デフォルトで最新バージョ...

Linux sedコマンドの使用

1. 機能紹介sed (Stream EDitor) は、コンテンツを 1 行ずつ処理するストリーム...

プロセスのすべての情報を表示するLinuxメソッドの例

サーバー上にタスク プロセスがあります。 ps -ef | grep task を使用して表示すると...

DockerにrockerChatをインストールし、チャットルームを設定するための詳細な手順

包括的なドキュメントgithubアドレスhttps://github.com/RocketChat/...

チェックボックスとラジオボタンの配置を実装する方法

ブラウザによって動作が異なるだけでなく、フォントやテキスト サイズによっても動作が異なります。フォー...

MySQL グループレプリケーションの設定手順 (推奨)

MySQL-Group-Replication は、MySQL-5.7.17 で開発された新しい機...

MySQL グループ化クエリと集計関数

概要私たちは、双十一に天猫で化粧品を購入する人の平均支出額を知りたい(商品の価格帯を見つけるのに役立...

nginx アンチホットリンクおよびアンチクローラー設定の詳細な説明

新しい設定ファイルを作成します (たとえば、nginx インストール ディレクトリの下の conf ...

JavaScript ESの新機能letとconstキーワードに基づく

目次1. letキーワード1.1 基本的な使い方1.2 変動昇進はない1.3 一時的なデッドゾーン1...