效果如下:
代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>图片切换</title>
<style>
.pics {width:300px; height:100px; border:solid 1px gray; overflow: hidden; position: relative;}
.pics li {float:left; list-style-type:none;}
.pics ul, #pics ul li {margin:0; padding:0;}
.pics ul {position: absolute; left: 0; top:0; width:10000px;}
.pics img {width:300px; height:100px;} .pics .divTip {position: absolute; left:10px; bottom:10px;}
.pics .divTip span {float: left; display:block; opacity:0.9; border-radius:5px; width:8px; height:8px; margin-right:5px; background-color:white; border:solid 1px #eee;}
.pics .divTip .active {background-color:gray;}
</style>
<script src="js/jquery.js"></script>
</head>
<body> <div id="pics1" class="pics">
<ul>
<li><img src="http://www.baidu.com/img/bdlogo.gif" /></li>
<li><img src="http://p1.qhimg.com/d/_onebox/search.png" /></li>
<li><img src="http://www.baidu.com/img/bdlogo.gif" /></li>
<li><img src="http://p1.qhimg.com/d/_onebox/search.png" /></li>
</ul>
</div> <div id="pics2" class="pics">
<ul>
<li><img src="http://p1.qhimg.com/d/_onebox/search.png" /></li>
<li><img src="http://www.baidu.com/img/bdlogo.gif" /></li>
<li><img src="http://p1.qhimg.com/d/_onebox/search.png" /></li>
<li><img src="http://www.baidu.com/img/bdlogo.gif" /></li>
</ul>
</div> <script>
$.fn.extend({
///这个函数是全部选择所有的元素
switchPic: function(delayMs, runMs) {
// oid runMs delayMs
var o = {};
o.itemWidth = this.width();
o.runMs = runMs || 500;
o.delayMs = delayMs || 2000;
o.obj = this; o.index = -1;
o.count = this.find('li').size();
o.isHover = false; var html = '<div class="divTip">';
for (var i=0; i<o.count; i++) html += '<span data-i="' + i + '"></span>';
html += '</div>';
this.append(html); o.fnAuto = function()
{
if (o.isHover) return;
o.index++;
if (o.index == o.count) o.index = 0; o.fnIndex(o.index);
} o.fnIndex = function (i)
{
o.index = i;
o.obj.find('.divTip span').removeClass('active');
o.obj.find('.divTip span').eq(o.index).addClass('active');
o.obj.find('ul').stop();
o.obj.find('ul').animate({left:'-' + (o.index * o.itemWidth) + 'px'}, o.runMs);
} window.setInterval(o.fnAuto, o.delayMs);
o.fnAuto(); this.hover(function(){
o.isHover = true;
},function(){
o.isHover = false;
}); this.find('.divTip span').mouseover(function(){
o.fnIndex($(this).data('i'));
});
}
}); $('#pics1').switchPic(1000, 100);
$('#pics2').switchPic(); </script> </body></html>