ネイティブJavaScriptでカルーセルを実装する

ネイティブJavaScriptでカルーセルを実装する

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

効果:

コード:

<!DOCTYPE html>
<html>

 <ヘッド>
 <メタ文字セット="UTF-8">
 <タイトル></タイトル>
 <スタイル>
 * {
 マージン: 0;
 パディング: 0;
 }
 
 ウル、
 li {
 リストスタイル: なし;
 }
 
 .バナー{
 幅: 1200ピクセル;
 高さ: 535px;
 境界線: 1px 実線の赤;
 マージン: 0 自動;
 位置: 相対的;
 }
 
 .スライダー li {
 位置: 絶対;
 左: 0;
 上: 0;
 }
 
 {
 幅: 40px;
 高さ: 50px;
 背景色: rgba(0, 0, 0, 0.1);
 フォントサイズ: 50px;
 テキスト配置: 中央;
 行の高さ: 50px;
 位置: 絶対;
 テキスト装飾: なし;
 色: グレー;
 }
 
 .btnl {
 左: 0;
 上位: 50%;
 上マージン: -15px;
 }
 
 .btnr{
 右: 0;
 上位: 50%;
 上マージン: -25px;
 }
 
 .タブ {
 位置: 絶対;
 下: 20px;
 左: 50%;
 左マージン: -75px;
 }
 
 .タブ li {
 幅: 15px;
 高さ: 15px;
 背景色: #ccc;
 境界線の半径: 50%;
 フロート: 左;
 右マージン: 10px;
 }
 </スタイル>
 </head>

 <本文>
 <div class="banner">
 <ul class="スライダー">
 <li><img src="img/b1.jpg" alt="" /></li>
 <li><img src="img/b2.jpg" alt="" /></li>
 <li><img src="img/b3.jpg" alt="" /></li>
 <li><img src="img/b4.jpg" alt="" /></li>
 <li><img src="img/b5.jpg" alt="" /></li>
 <li><img src="img/b6.jpg" alt="" /></li>
 </ul>
 <a href="javascript:void(0);" class="btnl">
 <</a>
 <a href="javascript:void(0);" class="btnr">></a>
 <ul class="タブ">
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 </ul>
 </div>
 <script type="text/javascript">
 var バナー = document.getElementsByClassName("バナー")[0];
 var スライダー = document.getElementsByClassName("スライダー")[0];
 var li = slider.getElementsByTagName("li");
 var btnl = document.getElementsByClassName("btnl")[0];
 var btnr = document.getElementsByClassName("btnr")[0];
 var タブ = document.getElementsByClassName("タブ")[0];
 var btns = tabs.getElementsByTagName("li");

 //初期化 btns[0].style.backgroundColor = "red";

 for(var i = 0; i < li.length; i++) {
 もし(i == 0) {
 続く;
 } それ以外 {
 li[i].style.opacity = 0;
 }
 }

 var タイマー = setInterval(ムーバー、1000);

 //現在の画像の添え字を表す変数を宣言します。var num = 0;

 関数ムーバー() {
 数値++;
 if(num == li.length) {
 数値 = 0;
 }
 for(var i = 0; i < li.length; i++) {
 li[i].style.opacity = 0;
 btns[i].style.backgroundColor = "#ccc";
 }
 li[num].style.opacity = 1;
 btns[num].style.backgroundColor = "赤";

 }

 関数movel() {
 数値--;
 if(数値 == -1) {
 数値 = li.長さ - 1;
 }
 for(var i = 0; i < li.length; i++) {
 li[i].style.opacity = 0;
 btns[i].style.backgroundColor = "#ccc";
 }
 li[num].style.opacity = 1;
 btns[num].style.backgroundColor = "赤";
 }

 バナー.onmouseover = 関数() {
 クリアインターバル(タイマー)
 }

 バナー.onmouseout = 関数() {
 タイマー = setInterval(ムーバー、1000)
 }

 btnl.onclick = 関数(e) {
 移動();
 }
 btnr.onclick = 関数(e) {
 ムーバー();
 }

 // 小さなドット効果 for(var i = 0; i < btns.length; i++) {
 btns[i].インデックス = i;
 btns[i].onmouseover = 関数() {
 if(this.index == num) {
 戻る;
 } それ以外 {
 for(var i = 0; i < li.length; i++) {
 li[i].style.opacity = 0;
 btns[i].style.backgroundColor = "#ccc";
 }
 li[this.index].style.opacity = 1;
 btns[this.index].style.background="赤";
 num=このインデックス;
 }
 }
 }
 </スクリプト>
 </本文>

</html>

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

以下もご興味があるかもしれません:
  • カルーセルの完全なコードを実装するためのjs
  • ネイティブ js でカルーセルを実装するためのサンプル コード
  • 携帯電話のスライドスイッチカルーセル画像の例をサポートする効果を実現するためのjs
  • js で左右のボタンをクリックして画像を再生する
  • JS カルーセル図の実装の簡単なコード
  • JSは左右のシームレスなカルーセルコードを実装します
  • JSは自動カルーセル効果(適応型画面幅+携帯電話タッチスクリーンスライド)を実現します
  • 無限ループカルーセル効果を実現するネイティブ js
  • html+js+css を使用してページ カルーセル効果を実現する (例の説明)
  • vue.js カルーセル コンポーネント vue-awesome-swiper に基づくカルーセル チャートの実装

<<:  ネイティブ JavaScript メッセージボード

>>:  vuex ベースのショッピングカート機能の実装

推薦する

ie8/ie9/ie10/ie11 chrome firefox を区別するための CSS コード

ウェブサイトの互換性のデバッグは本当に面倒です。今日のウェブサイト デザイナーは、以前よりもはるかに...

Vue.jsはコンポーネントを通じてアイコンを処理します

アイコン処理ソリューションこの記録の目的は、element-plus 以外のアイコンをコンポーネント...

Vueはページキャッシュ機能を実装する

この記事の例では、ページキャッシュ機能を実装するためのVueの具体的なコードを参考までに共有していま...

Docker-compose ネットワークの詳細な例

今日は Docker でのネットワーク設定を試し、後で忘れないようにプロセスを記録しました。 (シス...

vite2.x は ant-design-vue@next コンポーネントのオンデマンド読み込みを実装します。

1. 使用バージョンバイト:2.0 ant-design-vue: 2.0.0-rc.8ヴュー:3...

Docker+K8S クラスタ環境構築と分散アプリケーション展開

1. Dockerをインストールする yumでdockerをインストール #サービスを開始する sy...

HTML の基本概要推奨事項 (段落)

HTML段落段落は <p> タグによって定義されます。例<p>これは段落で...

HTML の 5 種類のスペースの意味

HTML には、幅の異なる 5 つのスペース エンティティが用意されています。非改行スペース ( )...

MySQL Index Pushdown (ICP) とは何かを理解するための記事

目次1. はじめに2. 原則III. 実践3.1 インデックスプッシュダウンを使用しない3.2 イン...

効率を向上できる Linux コマンドエイリアス 10 個のまとめ

序文Linux 環境で作業するエンジニアは、これらの面倒な命令とパラメータのコマンドラインにきっと驚...

Linux で g++ を使用してプログラムをコンパイルする際の -I (大文字の i)、-L (大文字の l)、-l (小文字の l) の機能の詳細な説明

初心者の Linux ユーザーとして、私は単純なgcc/g++操作を何度も使用してきましたが、少し複...

Dockerコンテナのログ処理の詳細な説明

Docker には多くのログ プラグインがあります。デフォルトでは json-file を使用します...

Element-ui レイアウト (行と列コンポーネント) の実装

目次基本的な手順と使用方法行コンポーネントの分析レンダリング機能ソースコード分析Col成分の分析コン...

Deepin Linuxでカーネルを手動でアップグレードする方法

deepinとUbuntuどちらもdebianをベースにしたディストリビューションであり、ここではU...

Node.js における path.join() の利点の分析

文字列連結ではなく path.join() メソッドを使用する必要があるのはなぜか疑問に思うかもしれ...