jquery-图片轮播(新手请大神指教一下)

这是我刚学jquery写的,感觉效果不是很好。

#scrollPics{
height: 330px;
width: 980px;
margin-bottom: 10px;
overflow: hidden;
position:relative;
}
.slider ul{
padding: 0px;
}
.slider ul li{
float: left;
list-style: none;
width: 980px;
}
.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;
}

 

<body>
<div id="scrollPics">
<div style="height: 330px;width:5000px " class="slider">
<ul >
<li><img src="images/1.jpg"/></li>
<li><img src="images/2.jpg"/></li>
<li><img src="images/7.jpg"/></li>
<li><img src="images/4.jpg"/></li>
<li><img src="images/5.jpg"/></li>
</ul>
</div>
<ul class="num" >
<li class="on">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
</body>
<script type="text/javascript">
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;
}
}, 2000);
})
function showImg(index) {
var addWidth = $("#scrollPics>.slider>ul>li:first").width(); //获取图片的宽度
$(".slider").animate({
"marginLeft": -addWidth* index + "px" //改变 marginLeft属性的值达到轮播的效果
}, 1000);

//当前图片显示时设置相对应按钮的样式或状态(用类选择器来控制)
$(".num li").removeClass("on")//未显示图片所对应的按钮移除其类选择器的名字
.eq(index).addClass("on"); //当相对应的图片显示时设置当前按钮的类选择器的名字为on
}

</script>
</html>

posted on 2014-08-17 22:21  唐红波  阅读(129)  评论(0编辑  收藏  举报

导航