本文实例讲述了jQuery实现的图片轮播效果。分享给大家供大家参考,具体如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片轮播</title>
<style type="text/css">
*{ padding: 0; margin: 0;}
li{ list-style-type: none;}
body{ margin: 50px;}
a img{ border:none;}
.wrap{
width: 500px;
height: 350px;
border: 3px solid #f00;
position:relative;
overflow: hidden;
}
.wrap ul{
width: 2500px;
position: absolute;
left: 0;
top: 0;
}
.wrap ul li{
float: left;
width: 500px;
}
.wrap ol{
position: absolute;
bottom: 10px;
right: 10px;
}
.wrap ol li{
float: left;
width: 16px;
height: 16px;
line-height: 16px;
text-align: center;
border: 1px solid #fc0;
background: #000;
color: #fff;
margin-right: 3px;
cursor: pointer;
}
.wrap ol li.current{
background: #fff;
color: #000;
}
.wrap .introduce{
height: 30px;
line-height: 30px;
width: 350px;
background: rgba(0,0,0,0.5);
color: #fff;
position: absolute;
bottom: 10px;
left: 0;
/*opacity: 0.5;
filter:alpha(opacity=50); */
}
</style>
</head>
<body>
<div class="wrap">
<ul>
<li><a href="###"><img src="1.jpg" alt="阅谁问君诵,水落清香浮"></a></li>
<li><a href="###"><img src="2.jpg" alt="天若无人解上文,吾人自惜问天去"></a></li>
<li><a href="###"><img src="3.jpg" alt="风雨聊程"></a></li>
<li><a href="###"><img src="4.jpg" alt="流星与共谁与共,人生无求复何求"></a></li>
<li><a href="###"><img src="5.jpg" alt="一站式共享网络"></a></li>
</ul>
<ol>
<li class="current">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ol>
<p class="introduce">111111</p>
</div>
<script src="jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var oul = $('.wrap ul');
var ali = $('.wrap ul li');
var numLi = $('.wrap ol li');
var aliWidth = $('.wrap ul li').eq(0).width();
var _now = 0; //这个是控制数字样式的计数器
var _now2 = 0; //这个是控制图片运动距离的计数器
var timeId;
var aimg = $('.wrap ul img');
var op = $('.wrap p');
numLi.click(function(){
var index = $(this).index();
_now = index;
_now2=index;
var imgAlt = aimg.eq(_now).attr('alt');
op.html(imgAlt);
$(this).addClass('current').siblings().removeClass();
oul.animate({'left':-aliWidth*index},500);
});
/**
* [slider description] 图片运动的函数
* @return {[type]} [description] 无返回值
*/
function slider(){
if(_now==numLi.size()-1){
ali.eq(0).css({
'position':'relative',
'left': oul.width()
});
_now=0;
}else{
_now++;
}
_now2++;
numLi.eq(_now).addClass('current').siblings().removeClass();
var imgAlt = aimg.eq(_now).attr('alt');
op.html(imgAlt);
oul.animate({'left':-aliWidth*_now2},500,function(){
if(_now==0){
ali.eq(0).css('position','static');
oul.css('left',0);
_now2=0;
}
});
}
timeId = setInterval(slider,1500);
/*$('.wrap').mouseover(function(){
clearInterval(timeId);
});
$('.wrap').mouseout(function(){
timeId = setInterval(slider,1500);
});*/
$('.wrap').hover(function(){
clearInterval(timeId);
},function(){
timeId = setInterval(slider,1500);
});
});
</script>
</body>
</html>
运行效果图如下:
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。