カルーセル例の 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接続クエリの原理と応用

推薦する

phpstudy から Linux への MySQL の移行に関するチュートリアル

プロジェクトの目的元のWindows環境でphpstudyを使用して構築されたMySQL 5.5.5...

Vue+Router+Element でシンプルなナビゲーションバーを実装する

このプロジェクトでは、Vue+Router+Element の具体的なコードを共有して、シンプルなナ...

ウェブページの読みやすさを向上させるいくつかの方法

1. 対照的な色を使用します。ここでのコントラストとは、テキストの色と背景色のコントラストを指します...

Linux Samba サーバーの超詳細なインストールと構成 (問題解決付き)

目次Samba サーバーの紹介Samba サーバー コンポーネントSamba サーバー関連の設定ファ...

Ubuntu mysqlログイン名とパスワードを表示および変更し、phpmyadminをインストールする

MySQLをインストールした後、ターミナルでmysql -u root -pと入力してEnterを押...

Linux で固定 IP を設定する方法 (テスト済みで効果的)

まず、仮想マシンを開きます xshell5 を開いて仮想マシンに接続します (より便利です。Linu...

数十行のjsを使用してクールなキャンバスインタラクティブ効果を実現する方法を教えます

目次1. 円を描く2. マウスで動かした円3. マウスでドラッグした粒子4. カラーグラデーション粒...

MySQL プロセス制御 IF()、IFNULL()、NULLIF()、ISNULL() 関数

MySQL では、IF()、IFNULL()、NULLIF()、および ISNULL() 関数を使用...

CSS Houdini でダイナミックな波効果を実現

CSS Houdini は、CSS 分野における最もエキサイティングなイノベーションとして知られてい...

mysql5.7.20 のインストールと設定方法のグラフィック チュートリアル (mac)

MySQL 5.7.20のインストールと設定方法のグラフィックチュートリアルをあなたと共有します1...

Linux での一般的なシェル スクリプト コマンドと関連知識

目次1. 覚えておくべき知識1. 変数タイプ2. シェル変数の説明3. シングルクォート、ダブルクォ...

HTML フォームタグチュートリアル (5): テキストフィールドタグ

<br />このタグは、さらにテキストを入力できる複数行のテキスト フィールドを作成する...

このリファレンスとJavaScriptのカスタムプロパティの詳細な説明

目次1. このキーワード2. カスタム属性3. 包括的なケース1:タブの実装付録要約する1. このキ...

React で Antd の Form コンポーネントを使用してフォーム機能を実装する方法

1. 構造部品1. フォームには、入力コントロール、標準フォーム フィールド、ラベル、ドロップダウン...

CSS クロスブラウザ スタイルのバグのデバッグについて

まず最初に、適切なブラウザを選択します。私が Chrome を選択したのは、その強力なデバッグ ツー...