この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 1. 機能:1. 2.5 秒ごとに次のスライドショーに自動的に切り替えます。 2. 下のボタンは対応するカルーセル画像を切り替えます。 3. マウスを内側に動かすと自動切り替えが一時停止し、外側に動かすと開始します。 4. マウスを動かすと左右の切り替えボタンが表示され、カルーセルを左右に切り替えることができます。 2. エフェクト(GIF):3. コード:構造レイヤー (HTML) <div class="box"> <img src="./image/banner1.jpg" /> <div class="左矢印"> <img src="./image/left.png" /> </div> <div class="右矢印"> <img src="./image/right.png" /> </div> <ul class="button"></ul> </div> プレゼンテーション層 (CSS) 。箱 { 幅: 300ピクセル; 高さ: 200px; 背景: #333; 境界線の半径: 5px; オーバーフロー: 非表示; マージン: 0 自動; フォントサイズ: 0; 位置: 相対的; ディスプレイ: フレックス; アイテムの位置を中央揃えにします。 } .box:hover .arrows{ 表示: ブロック; } .box 画像{ 幅: 100%; } .矢印{ 幅: 20px; テキスト配置: 中央; 位置: 絶対; 上位: 50%; 変換: translateY(-50%); zインデックス: 9; フォントサイズ: 30px; 表示: なし; } 。左{ 左: 10px; } 。右{ 右: 10px; } 。ボタン{ リストスタイル: なし; マージン: 0; パディング: 0; ディスプレイ: フレックス; コンテンツの中央揃え: 中央; 位置: 絶対; 下: 10px; 左: 50%; 変換: translateX(-50%); } .ボタン li { 幅: 20px; 高さ: 5px; 境界線の半径: 1px; 背景: #fff; マージン: 0 2px; } 。アクティブ { 背景: 赤 !重要; } 動作レイヤー (JavaScript) let count = 0 // 現在のカルーセルインデックスを作成する // DOM要素を取得する let box = document.querySelector('.box') img = document.querySelector('img') とします。 left = document.querySelector('.left') とします。 右 = document.querySelector('.right') とします。 ul = document.querySelector('ul') とします。 // カルーセル画像配列 let imgArr = [ './image/banner1.jpg', './image/banner2.jpg', './image/banner3.jpg', './image/banner4.jpg' ] // 画像配列を走査し、対応する下部スイッチ li タグを追加します imgArr.forEach(() => { li = document.createElement('li') とします。 ul.appendChild(li) }) let lis = document.querySelectorAll('li') // すべてのliタグを取得 lis[0].className = 'active' // 最初のliタグに選択状態を追加 // スライドショーを切り替える function switchImg (type) { 関数()を返す{ if(type == 1) { if(count - 1 < 0) { カウント = imgArr.length - 1 } それ以外 { カウント += -1 } } それ以外 { if(count + 1 >= imgArr.length) { カウント = 0 } それ以外 { カウント += 1 } } img.src = imgArr[カウント] lis.forEach((v,i) => { lis[i].className = '' if(i == カウント) { lis[i].className = 'アクティブ' } }) } } left.addEventListener('click', switchImg(1)) // 前のスライドショー right.addEventListener('click', switchImg(2)) // 次のスライドショー // スライドショーを切り替えるには、下の li タグをクリックします lis.forEach((value,index) => { lis[インデックス].addEventListener('クリック', () => { lis.forEach((v,i) => { lis[i].className = '' }) カウント = インデックス img.src = imgArr[カウント] lis[count].className = 'アクティブ' }) }) // 2.5秒ごとに次のスライドに自動的に切り替わるタイマーを作成する let swiper = setInterval(() => { 右クリック() },2500) //マウスが入り、自動切り替えを一時停止します。box.onmouseenter = () => { clearInterval(スワイパー) } //マウスを離すと自動切り替えが開始されます box.onmouseleave = () => { スワイパー = setInterval(() => { 右クリック() },1500) } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Mysql の一時テーブルとパーティションテーブルの違いの詳細な説明
>>: Linux インストール MongoDB の起動と一般的な問題の解決
序文Linux が完全にセットアップされると、クローン機能を使用して短時間で複数の Linux を作...
この記事では、例を使用して、MySQL サーバーのスレッド数を表示する方法について説明します。ご参考...
画像をプルする docker pull season/fastdfs:1.2トラッカーを開始 doc...
この記事では、gearman+mysql メソッドを使用して永続化操作を実装します。ご参考までに、詳...
目次メモを使うコールバックの使用メモを使う親コンポーネントが再レンダリングされると、そのすべての要素...
Linux で大量のファイルを削除する効率をテストします。まず500,000個のファイルを作成する$...
序文まず、高性能サーバーの高可用性またはホットスタンバイソリューションである Keepalived ...
まず、MySQL バックアップ コマンド mysqldump の一般的な操作例をいくつか紹介します。...
最近、小さなプログラムを開発しているときに、次の設計図のような円形のパーセンテージ進捗状況バーを実装...
この記事では、Fedora 28 に i3 をインストールして簡単に設定する方法を説明します。 1....
上記のように材料を準備します(ps: hadoop-3.1.2-srcはhadoop-3.1.2に変...
デフォルトでは、テーブルの境界線は 0 ですが、テーブルの境界線を設定できます。基本的な構文<...
この記事では、Docker を使用して MySQL をデプロイし、データを保持する方法について簡単に...
目次事前準備実施方法: 1. 単一のデータを挿入する2. マージデータ挿入3. MySqlBulkL...
現在、WeChatパブリックアカウントの運用活動が多く、写真を生成する必要があります。生成された写真...