検索
ホームページウェブフロントエンドフロントエンドQ&AJavaScript は画像の自動再生を実装します

現在、インターネット技術の継続的な発展により、Web デザインは非常に重要な産業となっています。写真は非常に重要な要素として、ページを美しくし、情報伝達効果を高め、ユーザーの注意を引くためにページデザインでよく使用されます。ページ上にいくつかの動的な要素を表示すると、ページのコンテンツが充実するだけでなく、閲覧時のより直感的な感覚効果と優れたユーザー エクスペリエンスをユーザーに提供できます。この記事では、JavaScript で画像の自動再生を実装する方法を紹介します。

1. 自動カルーセルの原理

画像カルーセルは、その名前が示すように、複数の画像を自動的に再生および切り替えます。自動カルーセルの原理は、JavaScript タイマーの助けを借りて実現されます。カルーセルのページ数が決定されると、setInterval() 関数を使用して画像を定期的に切り替えます。カルーセルが無限の場合は、setTimeout() を使用して実装します。カルーセル効果を実現するための再帰呼び出し。

2. HTML 構造

自動カルーセルを実装するには、次のように HTML でループ コンテナーと画像を作成する必要があります:

<div class="carousel-container">
  <img src="/static/imghwm/default1.png"  data-src="images/pic1.png"  class="lazy" alt="image 1">
  <img src="/static/imghwm/default1.png"  data-src="images/pic2.png"  class="lazy" alt="image 2">
  <img src="/static/imghwm/default1.png"  data-src="images/pic3.png"  class="lazy" alt="image 3">
</div>

3. CSS スタイル

カルーセル コンテナのスタイルを次のように設定します:

.carousel-container{
  width: 100%;
  height: 500px;
  position: relative;
  overflow: hidden;
}
.carousel-container img{
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.6s ease-in-out;
}
.carousel-container img.active{
  opacity: 1; 
}

4. JavaScript を使用してカルーセルを実装します

1. 画像とコンテナを取得します

var carouselContainer = document.querySelector('.carousel-container');
var carouselImgs = carouselContainer.querySelectorAll('img');

2. カルーセルの初期化

カルーセルを開始する前に、最初の画像にクラス名「active」を追加し、現在のカルーセル画像を表すカウンター インデックスを設定して、次のステップで次のカルーセル画像に切り替えることができます。 。 写真。

var index = 0;
carouselImgs[index].classList.add('active');
  1. タイマーを設定する

カルーセル処理中、特定のタイミングで画像を切り替える必要があるため、無限カルーセルと制限付き回転の 2 つの実装方法を説明します。違いは、すべての画像の走査が完了した後に最初から走査を再開するかどうかです。

無限カルーセル:

setInterval(function(){
  index++;
  if(index >= carouselImgs.length){
    index = 0;
  }
  carouselImgs.forEach(function(img){
    img.classList.remove('active');
  });
  carouselImgs[index].classList.add('active');
}, 3000);

限定カルーセル:

var timer = setInterval(function(){
  index++;
  if(index >= carouselImgs.length){
    clearInterval(timer);
    return;
  }
  carouselImgs.forEach(function(img){
    img.classList.remove('active');
  });
  carouselImgs[index].classList.add('active');
}, 3000);

ここでわかるように、カウンター インデックスを設定することで、対応する位置が毎回確実に横断されるようにすることができます。同時に、次の画像が 3 秒ごとに回転するようにタイマーを設定します。

4. イベント リスナーの追加

画像をクリックして関連ページにジャンプしたいユーザーもいるかもしれませんが、この場合は画像にイベント リスナーを追加する必要があります。

carouselImgs.forEach(function(img){
  img.addEventListener('click', function(e){
    var targetURL = e.target.getAttribute('data-href');
    if(targetURL){
      window.location.href=targetURL;
    }
  });
});

ここでは、イベント監視でユーザーのクリック動作を監視し、「getAttribute()」メソッドで画像に対応するリンクを取得し、画像をクリックすると目的のページにジャンプします。

5. 概要

上記の手順を完了すると、画像の自動回転の効果を正常に実現できます。ただし、カルーセル画像はすべてのページで使用できるわけではなく、適切なシナリオと適切なデザインのみが良好な結果を生み出すことができることに注意してください。上記の方法で実現される自動画像カルーセル効果にも一定の制限があり、ページ上に同時に複数のカルーセル画像がある場合、競合が発生してプログラムの実行に影響を与える可能性があります。したがって、最良の結果を生み出すには、実際のアプリケーションで合理的な調整と使用を行う必要があります。

以上がJavaScript は画像の自動再生を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
USESTATEの理解():React React Neact State Managementの包括的なガイドUSESTATEの理解():React React Neact State Managementの包括的なガイドApr 25, 2025 am 12:21 AM

usestate()isareacthookusedtomeStateinfunctionalComponents.1)itInitializeSandUpDatestate、2)colledatttheToplevelofComponents、3)canleadto'stalestate'ifnotusedly、and4)cancancancancancanbeoptimizeduptimizeduptimizedususecall -calleSuperesteSteSteSteSteSteSteSteSteStateSupteStateSuptateSuptatedates

Reactを使用することの利点は何ですか?Reactを使用することの利点は何ですか?Apr 25, 2025 am 12:16 AM

ReactisPopularduetoitsComponent Architecture、Virtualdom、Richecosystem、およびdeclarativenature.1)コンポーネントベースのarchitectureallowsforReusable anduipieces、改善様式および測定可能性。

Reactでのデバッグ:一般的な問題の特定と解決Reactでのデバッグ:一般的な問題の特定と解決Apr 25, 2025 am 12:09 AM

debugReactapplicationivivivity、EtheseStrategies:1)AddressPropdrillingWithContextapiorredux.2)HandLeasynchronousoperations withuthutateanduseeffect、Abortcontrollertopreventraceconditions.3)最適化合物を使用して、最適化合物を使用してください

ReactのUseState()とは何ですか?ReactのUseState()とは何ですか?Apr 25, 2025 am 12:08 AM

UseState()inReactallowsstateManagementInFunctionalComponents.1)itsimplifiesstateManagement、makeCodemoreconcise.2)usetheprevcountFunctionToupDateStateBasedTateBasedTateBadeStateValue、AvolidingStalestateSues.3)

useState()vs。usereducer():州のニーズに合った適切なフックを選択するuseState()vs。usereducer():州のニーズに合った適切なフックを選択するApr 24, 2025 pm 05:13 PM

ChooseuseState()forsimple,independentstatevariables;useuseReducer()forcomplexstatelogicorwhenstatedependsonpreviousstate.1)useState()isidealforsimpleupdatesliketogglingabooleanorupdatingacounter.2)useReducer()isbetterformanagingmultiplesub-valuesorac

UseState()を使用して状態を管理する:実用的なチュートリアルUseState()を使用して状態を管理する:実用的なチュートリアルApr 24, 2025 pm 05:05 PM

UseStateは、州の管理を簡素化し、コードをより明確にし、読みやすくし、Reactの宣言的な性質と一致するため、クラスコンポーネントやその他の州管理ソリューションよりも優れています。 1)UseStateを使用すると、状態変数を関数コンポーネントに直接宣言することができます。2)フックメカニズムの再レンダリング中に状態を覚えています。

UseState()を使用する時期と、代替の州管理ソリューションを検討するタイミングUseState()を使用する時期と、代替の州管理ソリューションを検討するタイミングApr 24, 2025 pm 04:49 PM

useUsestate()forlocalcomponentStatemanagement; compleartinative forglogic、orperformanceissues.1)useidealforsimple、localstate.2)useglobalStateSolutionSolutionSuxorContextForSharedState.3)OptForreDuxtormobxobxobxobforexSt

Reactの再利用可能なコンポーネント:コードの維持可能性と効率の向上Reactの再利用可能なコンポーネント:コードの維持可能性と効率の向上Apr 24, 2025 pm 04:45 PM

再利用することは、codecodemaintainabilityを抑制することを再生します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。