JavaScript を使用してカルーセル効果を実装する

JavaScript を使用してカルーセル効果を実装する

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

<!DOCTYPE html>
<html>
 <ヘッド>
  <メタ文字セット="utf-8">
  <タイトル></タイトル>
  <スタイル タイプ="text/css">
   .aaa {
    幅: 600ピクセル;
    高さ: 350ピクセル;
    position: relative;/*相対的な位置指定*/
    margin: 50px auto;/*上から50px、中央揃え*/
   }
   .画像イメージ {
    position: absolute;/*絶対位置*/
   }
   .dot {
    位置: 絶対;
    下: 5px;
   }
   .dot li {
    フロート: 左;
    幅: 16px;
    高さ: 16px;
    背景色: #e8e8e8;
    境界線の半径: 50%;
    list-style: none;/*リストスタイルをクリア*/
    右マージン: 10px;
    カーソル: ポインター;/*カーソルはリンクを示すポインター(手)としてレンダリングされます*/
   }
   。左 {
    幅: 30ピクセル;
    高さ: 30px;
    位置: 絶対;
    上: 169px;
    テキスト配置: 中央;
    背景色: #000000;
    行の高さ: 30px;
    色: #FFFFFF;
    カーソル: ポインター;/*カーソルはリンクを示すポインター(手)としてレンダリングされます*/
   }
   。右 {
    幅: 30ピクセル;
    高さ: 30px;
    位置: 絶対;
    上: 169px;
    右: 0;
    テキスト配置: 中央;
    背景色: #000000;
    行の高さ: 30px;
    色: #FFFFFF;
    カーソル: ポインター;/*カーソルはリンクを示すポインター(手)としてレンダリングされます*/
   }
   .aaa .スポット {
    背景色: #FF0000;
   }
  </スタイル>
 </head>
 <本文>
  <div class="aaa">
   <div class="picture">
    <img src="images/1.jpg" スタイル="幅: 600px;高さ: 350px;">
    <img src="images/2.jpg" スタイル="幅: 600px;高さ: 350px;">
    <img src="images/3.jpg" スタイル="幅: 600px;高さ: 350px;">
    <img src="images/4.jpg" スタイル="幅: 600px;高さ: 350px;">
    <img src="images/5.jpg" スタイル="幅: 600px;高さ: 350px;">
   </div>
   <ul class="dot">
    <li class="スポット"></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
   </ul>
   <div class="left">&lt;</div><!--&lt; エスケープ文字-->
   <div class="right">&gt;</div><!--&gt; エスケープ文字-->
  </div>
  <スクリプト>
   var lis = document.querySelectorAll(".dot li")
   var picture = document.querySelectorAll(".picture img")
   var 左 = document.querySelector(".left")
   var right = document.querySelector(".right")
   var aaa = document.querySelector(".aaa")
   var index = 0 //インデックス番号変数を設定する picture[index].style.opacity = 1 //最初の画像が表示される //右ボタンで画像が変わる right.onclick = function() {
    fn("+")
   }
   //画像を変更するには左ボタンをクリックしますleft.onclick = function() {
    fn("-")
   }
   //タイマーは3000ミリ秒ごとに画像を変更します var timer = setInterval(function() {
    fn("+")
   }, 3000)
   //マウスが一時停止します aaa.onmouseover = function() {
    クリアインターバル(タイマー)
   }
   //マウスアウトして続行 aaa.onmouseout = function() {
    タイマー = setInterval(関数() {
     fn("+")
    }, 3000)
   }
   //マウスがドットに触れたときに画像を変更する for (var i = 0; i < lis.length; i++) {
    lis[i].in = i
    lis[i].onmouseover = 関数() {
     fn(これ.in)
    }
   }
   //関数 function fn(ope) {
    picture[index].style.opacity = 0 //前の画像は非表示 lis[index].className = "" //小さなドットスタイルをクリア//Judge ope
    if (typeof ope === 'number') {
     インデックス = ope
    } else if (ope === '+') { //右ボタンかどうかを判断 if (index === 4) {
      インデックス = 0
     } それ以外 {
      インデックス++
     }
    } それ以外 {
     if (index === 0) { //左ボタンのインデックスが4かどうかを判断します
     } それ以外 {
      索引 - 
     }
    }
    picture[index].style.opacity = 1 //現在の画像 displaylis[index].className = "spot" //スポットにスタイルを追加}
  </スクリプト>
 </本文>
</html>

効果は図に示されています:

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

以下もご興味があるかもしれません:
  • JavaScriptカルーセルの実装について
  • カルーセル例の JS 実装
  • JS でカルーセル効果を実現する 3 つの簡単な方法
  • カルーセル効果を実現するための純粋なjs
  • ブリージングカルーセルを実装するネイティブJS
  • JavaScript による Web ページ カルーセルの超詳細な実装

<<:  LinuxシステムでFuserコマンドを使用する方法

>>:  MySQL 条件付きクエリと使用法および優先順位の例の分析

推薦する

Alibaba Cloud Server への Web プロジェクトのデプロイについて (5 つの手順)

1.まずAlibaba Cloudのウェブサイトにログインしてアカウントを登録し、サーバータイプを...

CSS 水平プログレスバーと垂直プログレスバーの実装コード

時々、素敵なスクロールバー効果を見るのは楽しいものです。ここでは、CSSを使用してそれを実現する方法...

Docker コンテナのカスタム ホストのネットワーク アクセス操作

docker-compose.yml に extra_hosts キーワードを追加すると、コンテナの...

MySQL の current_timestamp の落とし穴とその解決策を共有する

目次MySQL の current_timestamp の落とし穴エラーを報告する私の解決策mysq...

ネイティブ js はカスタム スクロール バー コンポーネントを実装します

この記事の例では、カスタムスクロールバーコンポーネントを実装するためのjsの具体的なコードを参考まで...

MySQL の count()、group by、order by の詳細な説明

最近、IM を実行するときに、これらの 3 つのキーワードを同時に使用したときに問題が発生しました。...

MySQL 5.7.18 でパスワードを変更する方法

MySQL 5.7.18 でパスワードを変更する方法: 1. まずMySQLサーバーをシャットダウン...

vue.js 動的コンポーネントの詳細な説明

:動的コンポーネントv-bind:is="component name" を使用...

BootStrap グリッド間に隙間を残す解決策

目次[例を見る]: 【本来の効果は以下の通り】理由は次のとおりです。 【解決】:要約するBootSt...

トランザクション分離レベルのMySQLケース分析

目次1. 理論シリアル化可能繰り返し読み取りコミットされた読み取りコミットされていない読み取り2. ...

jQueryはフェードインとフェードアウト効果を実現します

jQuery を使用してフェードインとフェードアウト効果を完成させる前に、まずいくつかのコードを理解...

アニメーションの再生と一時停止を制御するための CSS のヒント (非常に実用的)

今日は、CSS を使用してアニメーションの再生と一時停止を制御する非常に簡単なトリックを紹介します。...

Dockerコンテナ間の通信を実装する方法

シナリオ: laradock 開発環境 (php7.3+mysql5.7) がローカルに構築されてい...

WeChatミニプログラムの開発をスピードアップするためのヒント

1. app.jsonを使用してページを作成する私たちの通常の開発習慣によれば、新しいページを作成す...