jquery实现京东淘宝首页的轮番效果图
主要是绑定事件以及实现自动滚轮
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
}
.outer{
height:650px;
width: 500px;
border: dashed cadetblue 5px;
margin: 0 auto;
position: relative;
}
/*.num{*/
/*position: absolute;*/
/*left:0;*/
/*top:0;*/
/*}*/
.num li{
height:24px;
width: 24px;
background-color: grey;
border-radius:80%;
/*使每个数字在圈圈之内显示*/
text-align: center;
display: inline-block;
font-size: 20px;
margin: 5px;
cursor: pointer;
}
ul li{
list-style: none;
}
.outer .img li{
position: absolute;
left:0;
top:0;
}
.num{
position: absolute;
left:0;
/*top:0;*/
bottom: 10px;
font-size: 0;
/*情况num下面文本内容*/
text-align: center;
width: 100%;
/*告诉按照宽度的100%来居中*/
}
.button{
height: 60px;
width: 40px;
background-color: darkgoldenrod;
position: absolute;
/*left:0;*/
top:50%;
margin-top: -30px;
/*移动正中间*/
opacity: 0.6;
font-size: 40px;
text-align: center;
line-height:60px;
display: none;
/*默认隐藏起来这个框框*/
}
.btn_right{
right:0;
/*把另外一个标签移动到右边*/
}
.outer:hover .button{
display: block;
}
.outer .num li.current{
background-color: red;
}
</style>
</head>
<body>
<div class="outer">
<ul class="img">
<li><img src="11.jpg"></li>
<li><img src="22.jpg"></li>
<li><img src="33.jpg"></li>
<li><img src="44.jpg"></li>
<li><img src="55.jpg"></li>
<!--会先显示最后一张,因为在加载中,后面的内容可以理解为离我们更近,就先显示出来了-->
</ul>
<ul class="num">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<div class="btn_left button" ><</div>
<div class="btn_right button">></div>
</div>
<script src="jquery-3.1.1.js"></script>
<script>
$(function () {
$('.num li').first().addClass('current');
$('.num li').mouseover(function () {
$(this).addClass('current').siblings().removeClass('current');
// 当鼠标悬浮上去就触发该事件
var index = $(this).index();
i=index;
//根据索引值取到对应图片的索引值,fadein后面的参数表示过1秒显示出来,fadeout表示隐藏
$('.img li').eq(index).fadeIn(1000).siblings().fadeOut(1000)
});
// 自动播放图片
i = 0;
var time = setInterval(move, 1500);
function move() {
i++;
if (i == 5) {
i = 0;
}
$('.num li').eq(i).addClass('current').siblings().removeClass('current');
$('.img li').eq(i).fadeIn(1000).siblings().fadeOut(1000);
//每1.5秒执行一次,改变数字框框的颜色以及控制图片的显示以及隐藏
}
$('.outer').hover(function () {
clearInterval(time)
}, function () {
time = setInterval(move, 1500);
});
$('.btn_right').click(function(){
move()
});
//点击有边框直接往右边走
$('.btn_left').click(function(){
if(i==0){
i=3
}else {i=i-2;}
move();
});
});
//触碰div则接触自动更换图片,鼠标离开则继续自动滚动图片
</script>
</body>
</html>
效果如图


浙公网安备 33010602011771号