ネイティブ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 ベースのショッピングカート機能の実装

推薦する

HTML マルチメディア アプリケーション: Web ページにフラッシュ アニメーションと音楽を挿入する

1. HTML_falshアニメーションでのマルチメディアの応用(WebページへのFlashアニメー...

MySQL アップグレードのベストプラクティス

MySQL 5.7 には、オンライン DDL、マルチソース レプリケーション、拡張された半同期、テー...

VMware仮想マシンブリッジによるインターネット相互接続を実現する方法

VMware をインストールして新しい仮想マシンを作成したら、オプション バーの [編集] - [仮...

JavaScript の遅延読み込み属性パターンに関する簡単な説明

目次1. はじめに2. オンデマンド属性モード3. 乱雑な遅延読み込み属性パターン4. クラスの唯一...

HTML でフォーム コントロールを無効にする 2 つの方法: readonly と disabled

Web ページを作成する過程では、フォームがよく使用されます。しかし、フォーム上のコントロールを変更...

Dockerを使用して分散lnmpイメージを作成する

目次1. Docker分散lnmpイメージ生成1. Nginx、MySQL、PHPコンテナを実行する...

MySQLはSQL文を使用してテーブル名を変更します

MySQL では、SQL ステートメント rename table を使用してテーブル名を変更できま...

MLSQL スタックでストリームのデバッグを簡単にする方法

序文クラスメートが MLSQL Stack のストリーミング サポートを調査しています。そこで、フロ...

Vue3.0でカスタム命令を書くための簡単な手順

序文Vue には、v-if、v-bind、v-on などの豊富な組み込みディレクティブが用意されてい...

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...

MySql 8.0.11 のインストールと設定のチュートリアル

公式ウェブサイトアドレス: https://dev.mysql.com/downloads/mysq...

Nginxサービス500:内部サーバーエラーの原因の1つ

500 (内部サーバー エラー) サーバーでエラーが発生したため、要求を完了できませんでした。 50...

Linux の Docker コンテナで bash を終了する 2 つの方法

bash を終了する場合は、次の 2 つのオプションがあります。最初のもの: Ctrl + d を押...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

VueのSSRサーバーサイドレンダリング例の詳細な説明

サーバーサイドレンダリング (SSR) を使用する理由検索エンジンのクローラーが完全にレンダリングさ...