カルーセル例の JavaScript 実装

カルーセル例の JavaScript 実装

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

タイマーを使用して記述されたシンプルなカルーセル チャートについては、次のコードを直接参照してください。

1.cssコード

<スタイル>
       *{
           マージン: 0;
           パディング: 0;
           ボックスのサイズ: 境界線ボックス;
       }
       体{
           フォントサイズ: 14px;
           フォントファミリー: Arial、Helvetica、sans-serif;
       }
       .スライダーボックス{
          幅: 1226ピクセル;
          高さ: 460ピクセル;
          マージン: 10px 自動;
          オーバーフロー: 非表示;
          位置: 相対的;
       }
      .スライダーボックス .画像 a{
        幅: 100%;
        高さ: 460ピクセル;
        位置: 絶対;
        左: 0;
        上: 0;
        不透明度: 0;
        遷移: すべて 2;
       }
 
       .slider-box .images a.active{
           不透明度: 1;
       }
 
       .slider-box .images 画像{
           幅: 100%;
           高さ: 100%;
           表示: ブロック;
       }
       .スライダーボックス .nav{
           位置: 絶対;
           左: 0;
           上: 195px;
           幅: 100%;
           /* 背景色: 赤; */
           パディング: 0 10px;
           /* 高さ: 100px; */
       }
       .スライダーボックス .nav a{
           背景画像: url(img/icons.png);
           幅: 41ピクセル;
           高さ: 69px;
           表示: インラインブロック;
           背景繰り返し: 繰り返しなし;
       }
       .スライダーボックス .nav .prev{
           背景位置: -84px 0;
       }
       .slider-box .nav .prev:hover{
           背景位置: 0 0;
       }
       .スライダーボックス .nav .next{
           背景位置: -125px 0;
           フロート: 右;
       }
       .slider-box .nav .next:hover{
           背景位置: -42px 0;
       }
       .スライダーボックス .ページ{
           位置: 絶対;
           右: 20px;
           下: 25px;
           フォントサイズ: 0;
           幅: 1186ピクセル;
           テキスト配置: 中央;
           /* 背景色: レベッカパープル; */
       }
       .スライダーボックス .ページ .dot{
           表示: インラインブロック;
           幅: 10px;
           高さ: 10px;
           境界線の半径: 50%;
           背景色: rgba(0,0,0,0.4);
           右マージン: 10px;
       }
       .スライダーボックス .ページ .dot:hover{
        背景色: 黄色;
       }
       .スライダーボックス .ページ .dot.active{
        背景色: 黄色;
       }
 
</スタイル>

2.htmlコード

<div class="スライダーボックス">
        <div class="images">
            <!-- 将来的に画像を表示したい場合は、アクティブ クラスを追加するだけです -->
            <a href="#" class="アクティブ">
                <img src="img/1.jpg" alt="">
            </a>
            <a href="#" >
                <img src="img/2.jpg" alt="">
            </a>
            <a href="#" >
                <img src="img/3.jpg" alt="">
            </a>
            <a href="#" >
                <img src="img/4.jpg" alt="">
            </a>
            <a href="#" >
                <img src="img/5.jpg" alt="">
            </a>
        </div>
        <div class="nav">
            <a href="javascript:;" class="prev" title="前へ"></a>
            <a href="javascript:;" class="next" title="次へ"></a>
        </div>
        <div class="pages">
            <a href="javascript:;" class="dot active"></a>
            <a href="javascript:;" class="dot"></a>
            <a href="javascript:;" class="dot"></a>
            <a href="javascript:;" class="dot"></a>
            <a href="javascript:;" class="dot"></a>
        </div>
</div>

3.jsコード

<スクリプト>
        // タイマー切り替え画像関数 var images = document.querySelectorAll('.images a')
        var index = 0 //再生する画像のインデックスを定義します var pages = document.querySelectorAll(".dot")
        var prev = document.querySelector(".prev")
        var next = document.querySelector(".next")
        // インデックス値に従って画像を切り替える // 画像の a タグを見つけてアクティブクラスを追加する function showImage(idx){
            画像.forEach(関数(v,i){
                // idx = 1
                // i = 0 1 2 3 4
                if(i===idx){
                  v.classList.add('アクティブ')
                //対応するポイントのハイライトを制御する pages[i].classList.add("active")
 
                }それ以外{
                    v.classList.remove('アクティブ')
                    pages[i].classList.remove("アクティブ")
                }
            })
        }
    // 画像を表示(3)
 
    prev.onclick = 関数(){
        if(インデックス===0){
            インデックス = images.length - 1 // 4
        }それ以外{
            インデックス = インデックス - 1
        }
        画像を表示(インデックス)
    }
    next.onclick = 関数(){
        if(index===images.length-1){
            インデックス = 0
        }それ以外{
            インデックス+=1
        }
        画像を表示(インデックス)
    }
    var タイマー = setInterval(関数(){
        // タイマーは画像の切り替えを制御し、次の画像をクリックするのと同じ機能を持ちます // 次の画像のクリック操作を呼び出します next.click() // 次のクリック操作をシミュレートします },3000)
</スクリプト>

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

以下もご興味があるかもしれません:
  • JS は複数のタブを切り替えるカルーセルを実装します
  • カルーセル効果を実現するネイティブJavaScript
  • jsを使用してシンプルなカルーセル効果を実現する
  • シンプルなカルーセルの最も完全なコード分析を実装するJavaScript(ES6オブジェクト指向)
  • シンプルなカルーセル チャートを実装するための JavaScript の最も完全なコード分析 (ES5)
  • カルーセルの完全なコードを実装するためのjs
  • ネイティブ js でカルーセルを実装するためのサンプル コード
  • 携帯電話のスライドスイッチカルーセル画像の例をサポートする効果を実現するためのjs
  • JS カルーセル図の実装の簡単なコード
  • js で左右のボタンをクリックして画像を再生する

<<:  Dockerコンテナに入る方法と出る方法

>>:  MySQL接続クエリの原理と応用

推薦する

MySQL統計テーブルのサイズを説明する例

各データベース内の各テーブルのサイズをカウントすることは、データ ガバナンスの最も単純な要件の 1 ...

HTML における iFrame タグの 2 つの使用法

最近、私は「ぶどうコレクション」というプロジェクトに取り組んでいます。簡単に言うと、Budou ペー...

Centos7 Zabbix3.4 メールアラーム設定(メール内容がxx.bin添付ファイルになる問題の解決)

目次1. 監視Linuxホストを追加する2. メールボックスを設定する1. 監視Linuxホストを追...

jQuery で従業員管理登録ページを実装する

この記事では、従業員管理登録ページを実装するためのjQueryの具体的なコードを例として紹介します。...

MySQLインデックスが失敗するいくつかの状況の詳細な分析

1. 先頭のあいまいクエリではインデックスを使用できません (「%XX」や「%XX%」など)コード値...

mysql5.7.18のインストールと初期パスワードの変更方法

CentosでのMySQLのインストールについては、以前の記事を参照してください。 Centos7....

ウェブページの右側に固定されたフローティングレイヤーの実装コード

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

純粋なテキストとアイコン付きのボタンを実現するための HTML+CSS

この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...

proxy_pass を設定した後に Nginx が 404 を返す問題を解決する

目次1. proxy_pass を設定した後に Nginx が 404 を返す問題のトラブルシューテ...

Ubuntu に MySQL 5.7 をインストールし、データ ストレージ パスを構成する方法

1. MySQLをインストールするこの記事はAPT経由でインストールされており、インストールされてい...

6ull が Linux ドライバ モジュールをロードできない問題の解決方法

目次0x01 ドライバーモジュールのロードに失敗しました0x02 ソリューション要約する0x01 ド...

ウェブページ内でウェブテーブルやdivレイヤーが引き伸ばされる問題の解決策

<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...

React仮想リストの実装

目次1. 背景2. バーチャルリストとは何か3. 関連概念の紹介4. 仮想リストの実装4.1 ドライ...

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

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

ユーザーエクスペリエンスの76の経験ポイントの要約

ウェブサイト体験の分類1. 感覚体験:快適性を重視した視聴覚体験をユーザーに提供します。 2. イン...