このチュートリアルの動作環境: Windows7 システム、jquery1。 10.0 バージョン、Dell G3 コンピューター。jquery カルーセルの実装方法: まず、配置ボックス「p.focus」を作成し、次にオーバーフローを非表示に設定し、次に JavaScript を使用して、左右をクリックしてページをめくり、画像を切り替える機能を実現します。
jquery ビデオ チュートリアル 」 「javascript 基本チュートリアル 」
カルーセル効果を実現するための jQuery
多くの電子商取引 Web サイトやポータルには、フォーカス画像を自動的に回転させる広告が含まれています。以下では、私が個人的に jQuery を使用してこの効果を実現します。
実装する必要がある主な機能は 3 つあります。
1. クリックしてページを左右に回転すると、画像が切り替わります。
2. 下のナビゲーション ボタンをクリックします。
3 マウスをエリア外に移動すると、左右のページめくりボタンが消え、画像が自動的に回転します。
# p.focus の overflow 属性をコメントアウトすると、ページ全体に画像が並べて表示されることがわかります。
/** * 这个函数用于移动图片,接收一个移动参数 * @param dis为需要移动的距离 */ function move(dis){ moving = true; let $picture = $(".picture"); let left = parseInt($picture.css("left")); left += dis; $picture.animate({left:left},400,"linear",function(){ if(left > -480){ left = -2880; } if(left < -2880){ left = -480; } $picture.css("left",left + "px"); moving = false; }); }
/** * 这个函数是用于点亮下方的几个小按钮的 */ function activeBtn(){ if(index < 1){ index = 6; } if(index > 6){ index = 1; } let $cur_active = $(".button-group").find(".active"); if($cur_active.attr("index") !== index){ $cur_active.removeClass("active"); $(".button-group").find('[index=' + index+']').addClass("active"); } }
/** * 实现焦点图自动轮播 */ function autoMove(){ index += 1; activeBtn(); move(-480); timeoutId = setTimeout(autoMove,5000); }
let index = 1;//当前为第几张图片 let timeoutId; let moving = false; timeoutId = setTimeout(autoMove,5000); //为左右翻页添加点击事件 $("#left").click(function(event){ event.preventDefault(); if(!moving){ index -= 1; activeBtn(); move(480); } }); $("#right").click(function(event){ event.preventDefault(); if(!moving){ index += 1; activeBtn(); move(-480); } }); //为下方按钮添加点击事件 $(".button-group").click(function(event){ let $target = $(event.target); if($target.is("span")){ if(!moving){ let cur_index = parseInt($(this).find(".active").attr("index")); index = parseInt($target.attr("index")); activeBtn(); move(-480 * (index - cur_index)); } } }); $(".focus").mouseenter(function(event){ $(".arrow").css("visibility","visible"); clearTimeout(timeoutId);//取消自动轮播 }) .mouseleave(function(event){ $(".arrow").css("visibility","hidden"); timeoutId = setTimeout(autoMove,5000);//重新设置自动轮播 });
1. 画像を移動した後、左の値が期待値を超えているかどうかを判断し、超えたらリセットする必要があります。 2. .attr("index ") を渡します。取得されたインデックス値は文字列なので、整数に変換する必要があります。変換しないと、下のナビゲーション ボタンをクリックしたときにエラーが発生します。
3. 画像が移動している場合は、次のように設定します。 true に移動すると、他のボタンをクリックできなくなります。移動が完了したら false にリセットします。
以上がjqueryカルーセル画像の書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。