この記事では、カルーセルの効果を実現するための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 の起動と一般的な問題の解決
目次序文1. Nginxのインストール1. Nginxをダウンロードする2. 依存関係をインストール...
注: この表はW3Schoolチュートリアルから引用したものです疑似要素の分類と機能: 入力選択スタ...
現在、インターネット上でウェブサイトをコピーすることは非常に一般的です。では、他人が私たちのウェブサ...
Vue2 の記述スタイルから Vue3 の形式に切り替えると、記述スタイルとコード構造にいくつかの変...
この記事では、検証コード機能を実装するためのvue+spring bootの具体的なコードを例として...
序文日曜日に自宅で web.dev の 2020 3 日間ライブを視聴したところ、興味深い点がたくさ...
ムーアの法則はもはや適用されない2004年にフレックストロニクスがフロッグデザインを買収したのを皮切...
置換を削除したり文字列を削除したりできる tr コマンドは、誰もがよく知っています。 英語では、英語...
1. インデックスの重要性インデックスは、列に特定の値を持つ行をすばやく見つけるために使用されます。...
この記事では、Linux 環境の Apache で https サービスを有効にする方法について説明...
目次序文フロントエンドモジュール開発の価値厄介な名前の競合面倒なファイル依存関係モジュール化の利点C...
mysql idは1から始まり、不連続なidの問題を解決するために自動的に増加します。強迫性障害の私...
1. Tomcatのインストールパスを作成する mkdir /usr/local/tomcat 2....
ここでは主に、WeChat アプレットでラッキーホイール ゲームを開発する方法を紹介します。主に J...
序文小規模なプログラムの開発では、リストをスクロールして表示する必要性に遭遇することがよくあります。...