ネイティブ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 インライン要素と HTML ブロックレベル要素の概要と違い

ブロックレベル要素の機能: • 常に新しい行から始まり、それ自体で 1 行を占め、後続の要素も新しい...

Dockerfile を使用して Java ランタイム環境のミラーを作成する方法

現在の環境は次のとおりです。セントロス7.5 docker-ce 18.06.1-ce 1. まずc...

IE8対応のボーダー半径処理方法

canisue (http://caniuse.com/#search=border-radius)...

Ubuntu で起動時に自動的に起動するシェル スクリプトを作成する (推奨)

スクリプトを書く目的は、さまざまなサービスを手動で起動しなくて済むようにすることです(怠惰のためでも...

CSS 要素を表示および非表示にする 9 つの方法

Web ページの制作では、要素の表示と非表示は非常に一般的な要件です。この記事では、要素を表示したり...

一般的なテーブルコンポーネントの Vue カプセル化の完全な手順記録

目次序文テーブル コンポーネントをカプセル化する必要があるのはなぜですか?ステップ1: 共通コンポー...

CSS3 フィルター (フィルタ) ウェブページのグレーまたは黒モードのサンプルコードを実現

フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...

Vue + 要素の動的複数ヘッダーと動的スロット

目次1. 需要2. 効果3. すべてのコード1. 需要ユーザーが自分でテーブルを構成できるようになり...

Web開発で使用される基本的な概念と技術の紹介

本日は、Web 開発で使われる基本的な概念と技術を初心者向けに紹介します。A から Z まで合計 2...

InnoDB がシリアル化分離レベルを実装する方法

シリアル化の実装InnoDB は 2 つの方法でシリアル化を実装します。まず、SELECT 文が明示...

Xftp のダウンロードとインストールのチュートリアル (グラフィック チュートリアル)

Windows と Linux 間でファイルを転送する場合は、Xftp ツールを使用できます。この...

Vue はユーザーのログイン状態を維持します (さまざまなトークン保存方法)

目次クッキーの設定方法クッキーのデメリット: LocalStorage と SessionStora...

MySQLはconnect_by_isleaf MySQLメソッドまたはストアドプロシージャに似た機能を実装します

最近、特に異常なビジネス需要があり、テーブルがあります テーブル「デモ」を作成します( `id` i...

Linux での UDP について学ぶ

目次1. UDPとLinuxの基礎の紹介2. 各機能の使い方1. ソケット機能の使用2. バインド機...

Reactプロジェクトで画像を導入するいくつかの方法

imgタグは画像を導入しますreactは実際にはjsリーダー関数を介してページをレンダリングするため...