轮播图

HTML:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<link type="text/css" rel="stylesheet" href="css/slider.css" />
		<title>轮播图练习</title>
		<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
		<script type="text/javascript" src="js/slider.js"></script>
	</head>
	<body>
		<div class="slider_box">
			
			<!--轮播图片-->
			<ul class="slider_img_box">
				<li class="slider_img_box_li">
					<a href=""><img src="img/pic_3.jpg" alt="第一张图片" /></a>
				</li>
				<li class="slider_img_box_li">
					<a href=""><img src="img/pic_5.jpg" alt="第二张图片" /></a>
				</li>
				<li class="slider_img_box_li">
					<a href=""><img src="img/pic_7.jpg" alt="第三张图片" /></a>
				</li>
				<li class="slider_img_box_li">
					<a href=""><img src="img/pic_9.jpg" alt="第四张图片" /></a>
				</li>
			</ul>
			
            <!--轮播圆点-->
			<ul class="slider_dot"></ul>
			
			<!--轮播按钮-->
			<div class="slider_btn">
				<span class="prev"><</span>
				<span class="next">></span>
			</div>
		</div>
	</body>
</html>

Css:

*{
	margin: 0;
	padding: 0;
}
/*取消列表的图标内容*/
ul{
	list-style: none;
}
/*对整体窗口的设置*/
.slider_box{
	width: 560px;
	height: 480px;
	border: 1px solid #ccc;
	margin: 10px auto;
	position: relative;
	overflow: hidden;
}
/*图片盒子样式*/
.slider_img_box{
	width: 560px;
	height: 480px;
	position: absolute;
	top: 0;
	left: 0;
}
.slider_img_box_li{
	width: 560px;
	height: 480px;
    float: left;	
}
.slider_img_box_li img{
	width: 560px;
	height: 480px;
}
/*圆点样式*/
.slider_dot{
	position: absolute;
	width: 100%;
	bottom: 10px;
	text-align: center;
	font-size: 0;
}
.slider_dot li{
	width: 10px;
	height: 10px;
	background:rgba(0,0,0,0.5);
	margin: 0 5px;
	display: inline-block;  /*行内块元素*/
	border-radius: 100%;
	cursor: pointer;
}
/*上下页按钮样式*/
.slider_btn{
	display: none;
}
.slider_btn span{
	display: block;
	width: 50px;
	height: 100px;
	background: rgba(0,0,0,0.6);
	color: chartreuse;
	font-size: 40px;
	line-height: 80px;
	text-align: center;
	cursor: pointer;
}
.prev{
	 position: absolute;
	 top: 50%;
	 margin-top: -50px;
	 left: 0;
}
.next{position: absolute;
	 top: 50%;
	 margin-top: -50px;
	 right: 0;}
/*圆点选中样式	*/ 
.slider_dot .active{
	background-color: #fff;
}
.hide{
    display: none;
}

Js:

//界面加载完毕执行以下程序
$(function(){
    //初始化需要的变量
	var i = 0;
	var timer = null;
    //根据图片个数添加圆点
	for(var j = 0;j < $('.slider_img_box_li').length;j++){
		$(".slider_dot").append('<li></li>');
	};
    //设置默认第一个圆点样式
	$('.slider_dot li').first().addClass('active');
    //鼠标移入轮播范围显示按钮,移出则隐藏
	$('.slider_box').hover(function(){
		$('.slider_btn').show();
	},function(){
		$('.slider_btn').hide();
	});
    //复制第一张图片
	var firstimg = $('.slider_img_box li').first().clone();
    //将第一张图片与前面图片相连,并计算出总宽度
	$('.slider_img_box').append(firstimg).width($('.slider_img_box_li').length * $('.slider_img_box_li img').width());
    //设置自动轮播
    timer = setInterval(function(){
    	i++;
    	if(i == $('.slider_img_box li').length){  //i和第一张图片下标都是为0
    		i = 1;
    		$('.slider_img_box').css('left','0'); //保证无缝轮播,改变位置的是ul
    	};
    	$('.slider_img_box').stop().animate({left:-i * 560},500);  //设置每次轮播移动的距离
    	//设置圆点跟着变化
    	if(i == $('.slider_img_box li').length - 1){
    		//设置当轮播到追加的第一张图片时,第一个圆点显示
    		$('.slider_dot li').eq(0).addClass('active').siblings().removeClass('active');
    	}else{
    		//设置显示图片对应的图片
    		$('.slider_dot li').eq(i).addClass('active').siblings().removeClass('active');
    	};
    },3000)
    //鼠标移入,暂停自动播放;鼠标移出,开始自动播放;.hover(移入执行函数,移出执行函数)
    $('.slider_box').hover(function(){
    	//鼠标移入,暂停自动播放
    	clearInterval(timer);
    },function(){
    	//鼠标移出,开始自动播放
    	timer = setInterval(function(){
	    	i++;
	    	if(i == $('.slider_img_box li').length){  //i和第一张图片下标都是为0
	    		i = 1;
	    		$('.slider_img_box').css('left','0'); //保证无缝轮播
	    	};
	    	$('.slider_img_box').stop().animate({left:-i * 560},500);  //设置每次轮播移动的距离
	    	//设置圆点跟着变化
	    	if(i == $('.slider_img_box li').length - 1){
	    		//设置当轮播到追加的第一张图片时,第一个圆点显示
	    		$('.slider_dot li').eq(0).addClass('active').siblings().removeClass('active');
	    	}else{
	    		//设置显示图片对应的图片
	    		$('.slider_dot li').eq(i).addClass('active').siblings().removeClass('active');
	    	};
	    },3000)
    });
    //设置跳转上一张按钮
    $('.prev').click(function(){
    	i--;
    	if(i == -1){
    		i = $('.slider_img_box li').length - 2;  //i等于-1则表示i等于不追加第一张图片时的最后一张图片的下标
            //显示当前图片
    		$('.slider_img_box').css({left:-($('.slider_img_box li').length - 1) * 560});
    	}
        //跳转显示下一张图片
    	$('.slider_img_box').stop().animate({left:-i * 560},500);
        //显示对应圆点选中样式
    	$('.slider_dot li').eq(i).addClass('active').siblings().removeClass('active');
    });
    //设置跳转下一张按钮
    $('.next').click(function(){
    	i++;
    	if(i == $('.slider_img_box li').length){
    		i = 1;
    		$('.slider_img_box').css({left:0});
    	};
    	$('.slider_img_box').stop().animate({left:-i * 560},500);
        //圆点的length比图片的length少一个,所以要进行判断
    	if(i == $('.slider_img_box li') - 1){
    		$('.slider_dot li').eq(0).addClass('active').siblings().removeClass('active');
    	}else{
    		$('.slider_dot li').eq(i).addClass('active').siblings().removeClass('active');
    	};
    });
    //鼠标划入圆点
    $('.slider_dot li').mouseover(function(){
        //获取圆点对应的下标
    	var _index = $(this).index();
    	i = _index;
        //显示对应下标的图片
    	$('.slider_img_box').stop().animate({left:-_index * 560},300);
        //显示对应下标的圆点选中样式
    	$('.slider_dot li').eq(_index).addClass('active').siblings().removeClass('active');
    });
})

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值