JavaScript でカルーセル効果を実装する

JavaScript でカルーセル効果を実装する

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

実装コード:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
    <スタイル>
        * {
            マージン: 0;
            パディング: 0;
        }
        ul {
            リストスタイル: なし;
        }
        #箱 {
            マージン: 30px 自動;
            幅: 590ピクセル;
            高さ: 340ピクセル;
            位置: 相対的;
        }
 
        #バナーリスト > li {
            位置: 絶対;
            左: 0;
            右: 0;
            不透明度: 0;
            /*トランジションアニメーション*/
            遷移: 不透明度 2 秒、緩和;
        }
 
        #左、#右 {
            幅: 30ピクセル;
            高さ: 60px;
            テキスト配置: 中央;
            行の高さ: 60px;
            フォントサイズ: 24px;
            色: rgba(255,255,255,0.7);
            背景色: rgba(0,0,0,0.3);
            位置: 絶対;
            上位: 50%;
            上マージン: -30px;
            zインデックス: 3;
        }
 
        #右 {
            右: 0;
        }
 
        #タグリスト{
            幅: 130ピクセル;
            位置: 絶対;
            左: 50%;
            下: 8px;
            左マージン: -55px;
        }
 
        #タグリスト > li {
            フロート: 左;
            幅: 18px;
            高さ: 18px;
            マージン: 4px;
            テキスト配置: 中央;
            行の高さ: 18px;
            フォントサイズ: 13px;
            背景色: 白;
            境界線の半径: 9px;
            /*トランジションアニメーション*/
            遷移: 背景色 1s イージー;
        }
    </スタイル>
    <スクリプト>
        window.onload = 関数 (){
            //tag_listとサークルリストを取得する
            var tag_list = document.getElementById("タグリスト");
            var list = tag_list.children;
 
            //1. ul(banner_list)とすべてのliを取得する
            バナーリストを document.getElementById("バナーリスト");
            以下のようにbannerLiをbanner_list.childrenとします。
 
            //2. デフォルトで最初のバナーを表示する
            バナーLi[0].className = "現在のバナー"
            バナーLi[0].style.opacity = 1
            list[0].style.backgroundColor = "赤"
 
            //3. インデックスは 0 から始まり、デフォルトでは最初のものが表示されます。
            //count は現在表示されているページのインデックスを示します。let count = 0;
 
            //4. > をクリックして右に切り替えます var right = document.getElementById("right");
            right.onclick = 関数 (){
                //4.1 まず現在のページを非表示にするbannerLi[count].className = ""
                バナーLi[count].style.opacity = 0
                list[count].style.backgroundColor = "白"
 
                //4.2. ページ番号が1ずつ増加し、6ページ目(インデックス=5)に達したら、最初のページ(インデックス=0)に切り替えます。
                (++count == 5)の場合{
                    カウント = 0
                }
 
                //4.3 表示する現在のページ番号を設定するbannerLi[count].className = "current-banner"
                バナーLi[count].style.opacity = 1
                list[count].style.backgroundColor = "赤"
            }
 
            // right と同様に、条件を変更します var left = document.getElementById("left");
            left.onclick = 関数 (){
                //4.1 まず現在のページを非表示にするbannerLi[count].className = ""
                バナーLi[count].style.opacity = 0
                list[count].style.backgroundColor = "白"
 
                //4.2. ページ番号が 1 ずつ減少し、0 ページ目 (インデックス = -1) に達すると、5 ページ目 (インデックス = 4) に切り替わります。
                (--count == -1)の場合{
                    カウント = 4
                }
 
                //4.3 表示する現在のページ番号を設定するbannerLi[count].className = "current-banner"
                バナーLi[count].style.opacity = 1
                list[count].style.backgroundColor = "赤"
            }
 
            //マウスイベントをすべての円にバインドします for (let i = 0; i < list.length; i++) {
                list[i].onmouseenter = 関数 (){
                    // 円のスタイルを設定します list[count].style.backgroundColor = "white"
                    list[i].style.backgroundColor = "赤"
                    //バナー画像のスタイルを設定するbannerLi[count].className = ""
                    バナーLi[count].style.opacity = 0
                    バナーLi[i].className = "現在のバナー"
                    バナーLi[i].style.opacity = 1
                    //count を i に設定する
                    カウント = i
                }
            }
        }
    </スクリプト>
</head>
<本文>
    <div id="ボックス">
        <ul id="バナーリスト">
            <li class="current-banner"><img src="banner-img/11.jpg" alt=""></li>
            <li><img src="banner-img/22.jpg" alt=""></li>
            <li><img src="banner-img/33.jpg" alt=""></li>
            <li><img src="banner-img/44.jpg" alt=""></li>
            <li><img src="banner-img/55.jpg" alt=""></li>
        </ul>
        <span id="left">&lt;</span>
        <span id="right">&gt;</span>
        <div>
            <ul id="タグリスト">
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
            </ul>
        </div>
    </div>
</本文>
</html>

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

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

<<:  mysql 8.0.19 winx64.zip インストール チュートリアル

>>:  Windows と Linux 間のリモート デスクトップ接続

推薦する

MySQLはデフォルトのエンジンと文字セットの詳細を変更します

目次1. データベースエンジン1.1 ビューデータベースエンジン1.2 デフォルトのデータベースエン...

絵文字と問題解決のためのMySQL/Javaサーバーサポートの詳細な説明

この記事では、絵文字用の MySQL Java サーバーのサポートと問題解決方法について説明します。...

Tomcat のパフォーマンス最適化方法の簡単な概要

Tomcat自体の最適化Tomcat メモリ最適化起動時に大きなメモリ ブロックが必要であることを ...

トップナビゲーションバー機能を実現するCSS+HTML

ナビゲーション バー、固定トップ ナビゲーション バー、およびセカンダリ メニューの実装効果図の実装...

MySQL のダウンロードとインストールの詳細グラフィックチュートリアル

1. MySQLデータベースをダウンロードするには、公式Webサイトにアクセスしてください:http...

モバイルレイアウトにvw+remを使用する方法

まだ rem フレキシブルレイアウトを使用していますか?圧縮された js コードの大きなセクションを...

Vue3 の参照と参照の詳細

エディターは、Vue3のデータの関連する問題も共有します。次のような例を見てみましょう。 Vue.c...

WeChat アプレット wxs 日付と時刻処理の実装例

目次1. 日付までのタイムスタンプ2. UTCを北京時間に変換するWXS (WeiXin Scrip...

Nginxリバースプロキシ設定でプレフィックスが削除される

nginx をリバース プロキシとして使用する場合、リクエストをそのまま次のサービスに転送するだけで...

VUEウォッチリスナーの基本的な使い方の詳しい説明

目次1. 次のコードはwatchの簡単な使用法です2. 即時監視3. ハンドラメソッド4. 深い属性...

Nodejs 配列キューと forEach アプリケーションの詳細な説明

この記事では、Nodejs 開発プロセスで遭遇する配列の特性によって発生する問題と解決策、および配列...

JS オブジェクト コンストラクター Object.freeze

目次概要例1) オブジェクトをフリーズする2) 配列をフリーズする3) 浅い凍結4) ディープフリー...

レスポンシブWebデザイン学習(2) — 動画をレスポンシブにすることはできるのか?

前回のエピソードレビュー:昨日は、ページがさまざまなデバイス サイズにどのように対応するかについて説...

HTML ファイルにファイルの内容を含める方法の概要

フォーラムでは、ネットユーザーから「HTML ファイル内の別の HTML ファイルの内容を読み取るこ...

純粋な HTML ページを送信し、パラメータを渡し、ID を確認する方法

プロジェクトにはアンケートが必要ですが、クライアントはアンケートのタイトルが純粋なHTMLタグでなけ...