JavaScriptで画像切り替えのアニメーション効果を実現する方法(コード)
この記事の内容は、JavaScriptで画像切り替えのアニメーション効果(コード)を実現する方法についてです。必要な方は参考にしていただければ幸いです。
最初のレンダリングは大体こんな感じです。左のボタンをクリックすると写真が切り替わります。
非常に簡単なように見えますが、まだいくつかの困難があるため、このケースを選択して慎重に分析します。
ステップ 1: レイアウト
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图片切换器</title> </head> <style type="text/css"> *{ margin: 0; padding: 0; } body{ background-color: RGB(123,113,104); } #pic{ width: 300px; height: 400px; position: relative; margin: 50px auto; } #pic img{ width: 300px; height: 400px; } #pic span,#pic p{ position: absolute; width: 300px; height: 30px; line-height: 30px; text-align: center; background-color: rgba(61,50,48,0.5); } #pic span{ top: 0px; } #pic p{ bottom: 0px; } #pic ul{ position: absolute; top:0px; left: 320px; } #pic li{ list-style: none; width: 40px; height: 40px; background-color: #333; margin-bottom:10px ; } #pic li.active{ background-color: #F2F2F2; } </style> <body> <p id="pic"> <img src="img/1.jpeg"/> <span>- / -</span> <p>图片描述正在加载中...</p> <ul> <li class="active"></li> <li></li> <li></li> <li></li> <li></li> </ul> </p> </body> </html>
ステップ 2: データと初期化
1) データを見つける
2) ページを初期化する
<script type="text/javascript"> window.onload = function(){ var op = document.getElementById("pic"); var oImg = op.getElementsByTagName('img')[0]; var oSpan = op.getElementsByTagName('span')[0]; var oP = op.getElementsByTagName('p')[0]; var oUl = op.getElementsByTagName('ul')[0]; var arrSrc = ['img/1.jpeg','img/2.jpg','img/3.jpg','img/4.jpg','img/5.jpg']; var arrText = ['图片描述:第一张','图片描述:第二张','图片描述:第三张','图片描述:第四张','图片描述:第五张']; //一般有数组就需要一个值 var num = 0; //初始化 oSpan.innerHTML = num+1 +" / "+ arrSrc.length; oImg.src = arrSrc[num]; oP.innerHTML = arrText[num]; for(var i=0;i<arrSrc.length;i++){ oUl.innerHTML += '<li></li>'; } } </script>
ステップ 3: 画像を切り替え、画像を切り替え、これまでのテキストを表示します。は実現されましたが、その隣の ul の効果はまだ実現されていません
var oLi = oUl.getElementsByTagName('li'); //切换图片 for(var i=0;i<arrSrc.length;i++){ //自定义属性,一一对应 oLi[i].index = i; oLi[i].onclick = function(){ var id = this.index; //通过自定义的属性设置对应的信息 oImg.src = arrSrc[id]; oP.innerHTML = arrText[id]; oSpan.innerHTML = id+1 +" / "+ arrSrc.length; } }
ステップ 4: li のクラス スタイルを追加します。
アイデア 1:
li のすべてのスタイルをクリアし、クリックしたスタイルに追加します。
var oldLi = 0; //初始化 oLi[oldLi].className = 'active'; //在点击事件中 //循环将class清空 for(var j=0;j<arrSrc.length;j++){ oLi[j].className = ""; } oLi[id].className = "active";
アイデア 2:
前の値をクリアし、現在追加します
変数を定義し、oldLi はクリックされた前の値を保存します
デフォルトは 0 です
次のものをクリックすると、0 (デフォルト) がクリアされます。
そして、現在クリックされている li のインデックス カスタム属性を記録します oldLi = this.index;
次に、現在の li の class 属性を設定します
oLi[oldLi].className = ''; oldLi = id; this.className = 'active';
Completed;
完全なコードとスクリーンショットを以下に投稿します
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图片切换器</title> </head> <style type="text/css"> *{ margin: 0; padding: 0; } body{ background-color: RGB(123,113,104); } #pic{ width: 300px; height: 400px; position: relative; margin: 50px auto; } #pic img{ width: 300px; height: 400px; border-radius:10px; } #pic span,#pic p{ position: absolute; width: 300px; height: 30px; line-height: 30px; text-align: center; background-color: rgba(61,50,48,0.5); } #pic span{ top: 0px; border-radius:10px 10px 0 0; } #pic p{ bottom: 0px; border-radius: 0 0 10px 10px; } #pic ul{ position: absolute; top:0px; left: 320px; } #pic li{ list-style: none; width: 40px; height: 40px; background-color: #333; margin-bottom:10px ; border-radius: 10px; } #pic li.active{ background-color: #F2F2F2; } </style> <script type="text/javascript"> window.onload = function(){ var oDiv = document.getElementById("pic"); var oImg = oDiv.getElementsByTagName('img')[0]; var oSpan = oDiv.getElementsByTagName('span')[0]; var oP = oDiv.getElementsByTagName('p')[0]; var oUl = oDiv.getElementsByTagName('ul')[0]; var oLi = oUl.getElementsByTagName('li'); var arrSrc = ['img/1.jpeg','img/2.jpg','img/3.jpg','img/4.jpg','img/5.jpg']; var arrText = ['图片描述:第一张','图片描述:第二张','图片描述:第三张','图片描述:第四张','图片描述:第五张']; //一般有数组就需要一个值 var num = 0; var oldLi = 0; //初始化 oSpan.innerHTML = num+1 +" / "+ arrSrc.length; oImg.src = arrSrc[num]; oP.innerHTML = arrText[num]; for(var i=0;i<arrSrc.length;i++){ oUl.innerHTML += '<li></li>'; } oLi[oldLi].className = 'active'; //切换图片 for(var i=0;i<arrSrc.length;i++){ //自定义属性,一一对应 oLi[i].index = i; oLi[i].onclick = function(){ var id = this.index; //通过自定义的属性设置对应的信息 oImg.src = arrSrc[id]; oP.innerHTML = arrText[id]; oSpan.innerHTML = id+1 +" / "+ arrSrc.length; oLi[oldLi].className = ''; oldLi = id; this.className = 'active'; } } } </script> <body> <div id="pic"> <img src="img/1.jpeg"/> <span>- / -</span> <p>图片描述正在加载中...</p> <ul> <!--<li class="active"></li>--> </ul> </div> </body> </html>
関連する推奨事項:
JavaScriptでインポートとエクスポートを実装する方法(コード付き)
ネイティブJSカルーセルレンダリングのアニメーション効果(コード付き)
以上がJavaScriptで画像切り替えのアニメーション効果を実現する方法(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JavaScript で画像のシームレスな左右のスライド切り替え効果を実現するにはどうすればよいですか?インターネットの発展に伴い、Web デザインでは画像がページの重要な要素として頻繁に使用されます。画像の切り替え効果は、ページの美しさとインタラクティブ性に重要な影響を与えます。この記事では、JavaScript を使用して画像のシームレスな左右のスライド切り替え効果を実現する方法を検討し、具体的なコード例を添付します。画像のシームレスな左右のスライド切り替え効果を実現するには、まず次のことを行う必要があります。 画像コンテナを作成し、次のコマンドを使用します。

純粋な CSS を通じて画像カルーセル効果を実現する方法とテクニック。現代の Web デザインでは、画像カルーセル効果は複数の画像や広告を順番に表示するためによく使用されます。画像カルーセル効果を実現するにはさまざまな方法がありますが、一般的な方法の 1 つは CSS アニメーションを使用することです。この記事では、純粋な CSS を通じて画像カルーセル効果を実現する方法とテクニックを紹介し、具体的なコード例を示します。 1. HTML の構造 まず、カルーセルの画像要素を HTML で用意する必要があります。簡単な HTML 構造の例を次に示します: &l

レスポンシブな画像切り替え効果の作成は、フロントエンド開発における一般的なタスクの 1 つです。この記事では、HTML、CSS、jQuery を使用してこの効果を実現します。以下に詳細な手順と具体的なコード例を示します。 HTML 構造 まず、画像切り替え効果に必要な HTML 構造を作成する必要があります。次のコード例を使用して、単純な HTML 構造を作成できます。 <divclass="スライダーコンテナ">

Vue を通じて画像の切り替えとカルーセル効果を実現するにはどうすればよいですか? Vue は、Web アプリケーションでデータと対話ロジックを処理する洗練された効率的な方法を提供する、ユーザー インターフェイスを構築するための JavaScript フレームワークです。 Vue の多くの優れた機能の 1 つは、画像の切り替えやカルーセル効果を簡単に処理できることです。この記事では、Vue を使用してこれらの効果を実現する方法を紹介します。まず、画像を表示するための基本的な HTML 構造とスタイルを準備する必要があります。 <i を使用できます

JavaScript を使用して画像切り替えのグラデーション効果を実現するにはどうすればよいですか?インターネットの発展に伴い、ウェブサイトのデザインではユーザーエクスペリエンスがますます重視されるようになりました。画像の切り替えは、Web サイトで一般的なインタラクティブ効果の 1 つであり、画像をグラデーションで切り替えることで、ユーザーの注意を引き付けることができます。この記事では、JavaScript を使用して画像切り替えのグラデーション効果を実現する方法と、具体的なコード例を紹介します。始める前に、いくつかの画像リソースを準備する必要があります。 「image1.jpg」、「」という 3 つの写真があるとします。

JavaScript では、ズームやフェードのアニメーションを追加しながら、画像のシームレスな左右のスライド切り替え効果をどのように実現できるでしょうか?ウェブサイト開発において、画像のスライド切り替え効果は非常に一般的な要件ですが、ここでは、JavaScript を使用して、ズームとフェードのアニメーションを追加しながら、左右のスライド切り替え効果をシームレスに実現する方法を紹介します。この記事では、この効果を簡単に実現できるように、詳細なコード例を示します。まず、画像を配置するための HTML コンテナを準備し、コンテナの

Layui を使用して画像切り替えカルーセル効果を実現するには、特定のコード サンプルが必要です。 タイトル: Layui を使用して画像切り替えカルーセル効果を実現する方法の詳細な説明 はじめに: 現代の Web デザインでは、画像切り替えカルーセル効果は一般的な要素の 1 つになっています。画像カルーセルを使用すると、Web ページをよりダイナミックで魅力的なものにすることができます。この記事では、Layui をベースとして、画像切り替えカルーセル効果を実現する方法と具体的なコード例を紹介します。 1. Layui カルーセル コンポーネントの紹介 Layui は、古典的なフロントエンド UI フレームワークです。

Layui を使用して画像の切り替えやストレッチ効果を実現する方法 近年、Web フロントエンド技術の急速な発展に伴い、Web ページの美化や機能強化を目的としたフレームワークやライブラリが増えています。中でもLayuiは、豊富なUIコンポーネントと使いやすい機能拡張を提供する、非常に人気のあるフロントエンドフレームワークです。この記事では、Layui を使用して画像の切り替えやストレッチ効果を実現する方法と、具体的なコード例を紹介します。 1. 画像切り替えエフェクトの HTML 構造の実装 まず、画像切り替えエフェクトの HTML 構造をいくつか準備する必要があります。
