<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<style type="text/css">
*{
margin: 0;
padding: 0;
list-style: none;
}
img{
display: block;
}
.banner{
width: 600px;
height: 350px;
margin: 50px auto;
position: relative;
border: 1px solid #000;
overflow: hidden;
}
.list{
width: 5000px;
}
.list li{
float: left;
}
.btn{
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 20px;
}
.btn li{
float: left;
width: 30px;
font: 14px/30px "微软雅黑";
text-align: center;
border-radius: 50%;
background: deeppink;
color: #fff;
cursor: pointer;
margin: 0 5px;
}
.banner>a{
position: absolute;
width: 30px;
font: 24px/60px "新宋体";
text-align: center;
text-decoration: none;
background: rgba(0,0,0,0.3);
top: 50%;
transform: translateY(-50%);
color: #fff;
}
.banner>a:last-child{
right: 0;
}
/**
* of-type限制类型
* li:first-child 如果第一个子元素不是li是选择不到的
*
*
*/
.banner>a:nth-of-type(1){
left: 0;
}
.banner>a:hover{
background: rgba(0,0,0,0.5);
}
.btn .active{
background: springgreen;
}
</style>
<body>
<div class="banner">
<!-- ul.list>li*6>a>img[src=images/banner/$.jpg]
-->
<ul class="list">
<li class="on"><a href=""><img src="images/banner/1.jpg" alt="" /></a></li>
<li><a href=""><img src="images/banner/2.jpg" alt="" /></a></li>
<li><a href=""><img src="images/banner/3.jpg" alt="" /></a></li>
<li><a href=""><img src="images/banner/4.jpg" alt="" /></a></li>
<li><a href=""><img src="images/banner/5.jpg" alt="" /></a></li>
<li><a href=""><img src="images/banner/6.jpg" alt="" /></a></li>
</ul>
<ul class="btn">
<li class="active">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
<a href="javascript:;"><</a>
<a href="javascript:;">></a>
</div>
</body>
<script src="js/jquery-1.7.2.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
//1. 初始化 获取元素
var list = $('.list');
var first = list.children(':first').clone(true);
var index = 0;
var length = list.children().length;
var width = list.children(':first').width();
var btns = $('.btn li');
//2. 克隆第一个扔到尾部
list.append(first);
//3.定义核心函数
function core(num){
//4.根据索引值 找到对应的按钮添加类名其它小伙伴 要删除类名
// 如果索引值大于等于按钮长度 找不到这个按钮 强制使用索引值0
btns.eq(num>=btns.length ? 0 : num).addClass('active').siblings().removeClass('active');
//5.根据索引值计算left值
var left = -num * width;
//6. 执行动画方法
list.stop().animate({'margin-left':left});
}
//4. 定义一个函数用于定时器与 右箭头
var play = function(){
//1.索引值+1
index++;
//2. 如果索引值大于6 瞬间将显示的位置调整到0
if(index>length){
//3.瞬间将位置调整到第一图也就是0
list.css('margin-left',0);
//4. 调整到0的位置显示的还是第一张 下一张索引应该是1 也就是第二张图
index = 1;
}
core(index)
}
//5.开启定时器
var sid = setInterval(play,1000);
//6.右箭头
$('.banner>a:last').click(play);
//7.左箭头
$('.banner>a:first').click(function(){
//8.索引值--
index--;
if(index<0){
//9.如果索引值于0 瞬间调整到最后一张图的位置,最后一张和第一张是相同的
list.css('margin-left',-length*width);
//10.索引值应该为 5
index = length-1;
}
core(index)
});
//11.移入移出事件
$('.banner').hover(function(){
clearInterval(sid)
},function(){
sid = setInterval(play,1000);
})
//12.按钮切换
btns.click(function(){
//13.获取当前元素值
core(index = $(this).index())
})
</script>
</html>