使用JQ写一个无缝轮播

上一篇用js写了一个无缝轮播,为了熟练再用JQ写出一个,注释就不再标。原理上与JS写的一样:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>JQ轮播图</title>
	<script src="jquery.js"></script>
	<style>
	    *{
	    	margin: 0;
	    	padding: 0;
	    }
		.cantiner{
            margin: 0 auto;
            width: 600px;
            height: 400px;
            overflow: hidden;
            position: relative;
		}
        .imgs{
        	width: 1000%;
        	height: 100%;
        	position: absolute;
        	top: 0;
        	left: 0;
        	font-size: 0;
        }
        .imgs>li{
        	width: 10%;
        	height: 100%;
        	display: inline-block;
        }
        .left,.right{
        	cursor: pointer;
            display: block;
            width: 50px;
            height: 100px;
            position: absolute;
            top: 50%;
            margin-top: -50px;
            line-height: 100px;
            text-align: center;
            color: #fff;
            font-size: 30px;
            background-color: rgba(0,0,0,.6);
        }
        .left{
        	left: 0;
            
        }
        .right{
        	right: 0;
        }
        .point{
        	position: absolute;
            width: 100%;
            text-align: center;
            height: 15px;
            bottom: 40px;
            font-size: 0;
        }
        .point>li{
        	display: inline-block;
        	width: 15px;
        	height: 15px;
        	background-color: #ccc;
        	border-radius: 50% 50%;
        	margin: 0 10px; 
        	cursor: pointer;
        }
        .point>.on{
        	background-color: orange;
        }
	</style>
</head>
<body>
	<div class="cantiner">
		<ul class="imgs">
			<li><img src="img/timg.jpg" alt=""></li>
			<li><img src="img/timg1.jpg" alt=""></li>
			<li><img src="img/timg2.jpg" alt=""></li>
			<li><img src="img/timg3.jpg" alt=""></li>
			<li><img src="img/timg4.jpg" alt=""></li>
			<li><img src="img/timg.jpg" alt=""></li>
		</ul>
		<span class="left"><</span>
		<span class="right">></span>
		<ul class="point">
			<li class="on"></li>
			<li></li>
			<li></li>
			<li></li>
			<li></li>
		</ul>
	</div>
	<script>
		$(function(){
		   var timer;
		   var time;
		   var viewport = $(".cantiner")[0].clientWidth;
		   var index = 0;
		   var list = $(".point>li");
		   function run(){
              var start = $(".imgs")[0].offsetLeft;
              var end = index*viewport*(-1);
              var range = start - end;
              var loc = start+range*(-1);
             $(".imgs").animate({"left":loc+"px"},200,function(){
             	if(index>=list.length){
                   index = 0;
                   $(".imgs").css("left","0px");
                }
             });
             $(".point>li").removeClass("on");
             if(index>=list.length){
             	$(".point>li").eq(0).addClass("on");
             }else{
             	$(".point>li").eq(index).addClass("on");
             }
		   }
		   timer = setInterval(function(){
		   	 index++;
             run();
		   },1000);
           $(".left").click(function(){
           	 index++;
           	 run();
           });
           $(".right").click(function(){
           	 if(index==0){
           	 	index = list.length;
           	 	$(".imgs").css("left",index*viewport*(-1)+"px");
           	 }
           	 index--;
           	 run();
           })
           $(".cantiner").mouseover(function(){
           	   clearInterval(timer);
           });
           $(".cantiner").mouseout(function(){
             timer = setInterval(function(){
             	index++;
             	run();
             },1000);
           });
           $(".point>li").mouseover(function(){
           	   index = $(this).index();
           	   run();
           })

		})
	</script>
</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值