jQueryピクチャのマルチキャストのコード分離
8131 ワード
以前、jQueryがリストの自動スクロールを実現することに遭遇したことがありますが、今回の画像は原理的に同じで、わずかな違いがあります.画像の右下に現在の画像のシーケンス番号を表示する必要があります.
htmlコード、および対応するcssコード:
cssコード:
絶対位置決めでリストnumの位置を設定し、liに関連スタイルを設定し、onは画像に対応する数値リストのliのスタイルカテゴリを表示します.
jsコード:
htmlコード、および対応するcssコード:
<div id="scrollPics">
<ul class="slider" >
<li><img src="images/ads/1.gif"/></li>
<li><img src="images/ads/2.gif"/></li>
<li><img src="images/ads/3.gif"/></li>
<li><img src="images/ads/4.gif"/></li>
<li><img src="images/ads/5.gif"/></li>
</ul>
<ul class="num" >
<li class="on">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
cssコード:
#scrollPics{
height: 150px;
width: 100%;
margin-bottom: 10px;
overflow: hidden;
position:relative;
}
.num{
position:absolute;
right:5px;
bottom:5px;
}
#scrollPics .num li{
float: left;
color: #FF7300;
text-align: center;
line-height: 16px;
width: 16px;
height: 16px;
cursor: pointer;
overflow: hidden;
margin: 3px 1px;
border: 1px solid #FF7300;
background-color: #fff;
}
#scrollPics .num li.on{
color: #fff;
line-height: 21px;
width: 21px;
height: 21px;
font-size: 16px;
margin: 0 1px;
border: 0;
background-color: #FF7300;
font-weight: bold;
}
絶対位置決めでリストnumの位置を設定し、liに関連スタイルを設定し、onは画像に対応する数値リストのliのスタイルカテゴリを表示します.
jsコード:
//
var len = $(".num > li").length;
var index = 0; //
var adTimer;
$(".num li").mouseover(function() {
index = $(".num li").index(this); // li index
showImg(index);
}).eq(0).mouseover();
// , .
$('#scrollPics').hover(function() {
clearInterval(adTimer);
}, function() {
adTimer = setInterval(function() {
showImg(index)
index++;
if (index == len) { // ,
index = 0;
}
}, 3000);
}).trigger("mouseleave");
function showImg(index) {
var adHeight = $("#scrollPics>ul>li:first").height();
$(".slider").stop(true, false).animate({
"marginTop": -adHeight * index + "px" // marginTop
}, 1000);
$(".num li").removeClass("on")
.eq(index).addClass("on");
}