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

推薦する

MAC での MYSQL5.7.17 接続失敗の問題と解決策

MYSQL5.7.17 が MAC で接続できない問題。SQLBench_community 6.3...

CSS 評価効果の星の例

何?何のスターコートですか?さて、もっとわかりやすくするために写真を見てみましょう。 よく見ると、パ...

負荷分散の基礎知識とnginxを使用した負荷分散の簡単な例

Nginx は、一般的に 7 層の負荷分散に使用できます。この記事では、負荷分散に関する基本的な知識...

JavaScriptにおけるこのポインティング問題の詳細な説明

序文JS の this ポインターは、初心者にとって常に頭痛の種でした。今日は、これが地面に落ちたと...

JavaScript の基礎: エラーキャプチャメカニズム

目次序文エラーオブジェクト投げる試して…捕まえて…最後に最終ルールトライ/キャッチパフォーマンスウィ...

VMware 仮想マシンに Centos7.3 をインストールするチュートリアル図

VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...

水平スクロールバーを実装する2つの方法の例

序文:プロジェクトの開発中に、1 行にナビゲーション バーが多すぎる場合に水平スクロール バーを実装...

MySQLクライアントとサーバーのプロトコルの解釈

目次MySQL クライアント/サーバー プロトコルMySQL サーバーから高いパフォーマンスを得る必...

CSS 画像アニメーション効果のサンプルコード(フォトフレーム)

この記事では、CSS 画像アニメーション効果(フォトフレーム)のサンプルコードを紹介し、皆さんと共有...

CentOS 7 はネットワークカードを変更した後、インターネットにアクセスできません

不明なドメイン名 www.baidu.com を Ping するホストのIPアドレスを変更する右クリ...

TypeScript における型保護の詳細な説明

目次概要型アサーション構文ではインスタンスオブ構文typeof構文要約する概要TypeScript ...

ラジオボタンと複数選択ボタンは画像を使用してスタイル設定されます

ラジオ ボタンや複数選択ボタンにスタイルを追加する方法や、ボタンを大きくする方法を尋ねる人を以前見か...

Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...

Windows での Nginx のインストールと環境設定 (nginx をサービスとして実行)

最初で最も重要なステップは、Windows 環境に Ngnix サービスをインストールする方法です。...

JSは10進数を16進数に変換するサンプルコードを実装します

序文コードを書くと、時々基数変換の問題に遭遇します。一般的な変換には、2進数、8進数、10進数、16...