最近はあまり忙しくなく、カルーセルエフェクトを書く練習をしましたが、効果や機能は問題ないようですが、まだまだ改善すべき点がたくさんあると思います。もちろん、学ぶべきことはまだたくさんあります。これは私の最近の js の研究の記録です。将来はもっと良いものを書けると信じています。
jquery フレームワークのリンクを次のように置き換えます。効果を確認する画像
ソースコードは次のとおりです:
轮播图 <script> <br>var b_width = 1000; // 画像の左方向への移動速度 <br>var s_time = 3000;速度 <br>var pic_li = $("#lunbo_pic").children("li"); <br>$(document).ready(function(e) { <br>var $ul_width= pic_li.width() * pic_li .length; //カルーセルの幅 <br>$("#lunbo_pic").width($ul_width); <br>var small_width = $(".lunbo_curso>a").width() " .lunbo_curso>a").length; <br>$(".lunbo_curso").width(small_width); <br>$(".lunbo_curso").css("margin-left",-small_width/2) ; <br>}); <br><br><br><br>$(document).live("click",function(e){ <br>$target = $(e.target); > var id = $target.attr('id'); <br>if($target.is("a") && $target.parent($("#lunbo_curso")) ){ <br>$target. addClass ("small_xz").siblings().removeClass('small_xz'); <br>var mar_lf = parseInt($target.index() * b_width); <br>$("#lunbo_pic").animate({ <br>左 : -mar_lf <br>},speed); <br>} <br>if(id == "arr_l"){ <br>prePage() <br>} <br>if(id = = "arr_r"){ <br>nextPage(); <br>} <br>}); <br>//前の<br>関数 prePage(){ <br>if($(".small_xz"). Index() == 0){ <br>$("#lunbo_pic").css("left",-4000); <br>$("#lunbo_pic").animate({ <br>"left": -parseInt(pic_li.length *b_width - b_width) <br>},speed); <br>$("#lunbo_curso>a").eq(pic_li.length - 1).addClass("small_xz").siblings( ).removeClass("small_xz"); <br>$(".small_xz").index() == pic_li.length - 1; <br>}else{ <br>$("#lunbo_curso>a") eq($(".small_xz").index()-1).addClass("small_xz").siblings().removeClass("small_xz"); <br>var mar_lf2 = parseInt($("#lunbo_pic") .css("left")) b_width; <br>$("#lunbo_pic").animate({ <br>"left": mar_lf2 <br>},speed); >//Next<br>function nextPage(){ <br>if($(".small_xz").index() == pic_li.length -1){ <br>$("#lunbo_pic").css ( "左",0); <br>/*$("#lunbo_pic").animate({ <br>"左": 0 <br>},speed);*/ <br>$("#lunbo_curso> ; a").eq(0).addClass("small_xz").siblings().removeClass("small_xz"); <br>$(".small_xz").index() == 0; <br><br>}else{ <br><br>$("#lunbo_curso>a").eq($(".small_xz").index() 1).addClass("small_xz").siblings().removeClass( " small_xz"); <br>var mar_lf2 = parseInt($("#lunbo_pic").css("left")) - b_width; <br>$("#lunbo_pic").animate({ <br>"left " : mar_lf2 <br>},speed); <br>} <br>} <br><br>関数 picRun(){ <br>nextPage(); <br>intervalTime = setInterval(picRun, s_time) ); <br><br>$("#pic_carousel").on("mouseover",function(){ <br>clearInterval(intervalTime); <br>}); .on("mouseout",function(){ <br>intervalTime = setInterval(picRun,s_time);; <br>}); <br><br></script> 🎜>