zoukankan      html  css  js  c++  java
  • 左右无缝轮播图的实现

    无缝轮播图:

    	<title>无缝轮播图</title>
    	<style>
    		*{margin: 0;padding:0; }
    		ul{list-style: none;}
    		.banner{ 600px;height: 300px;border: 2px solid #ccc;margin: 100px auto;position: relative;overflow: hidden;}
    		.img{position: absolute;top: 0;left: 0}
    		.img li{float: left;}
    		.num{position: absolute;bottom: 10px; 100%;text-align: center;font-size: 0;}
    		.num li{ 10px;height: 10px;background:rgba(0,0,0,0.5);display: block;border-radius: 100%;display: inline-block;margin: 0 5px;cursor: pointer;}
    		.btn{display: none;}
    		.btn span{display: block; 50px;height: 100px;background: rgba(0,0,0,0.6);color: #fff;font-size: 40px;line-height: 100px;text-align: center;cursor:pointer;}
    		.btn .prev{position: absolute;left: 0;top: 50%;margin-top: -50px;}
    		.btn .next{position: absolute;right: 0;top: 50%;margin-top: -50px;}
    		.num .active{background-color: #fff;}
    	</style>
    	<script src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.min.js"></script>
    </head>
    <body>
    <div class="banner">
    	<ul class="img">
    		<li><a href="#"><img src="img/1.jpg" alt="第1张图片"></a></li>
    		<li><a href="#"><img src="img/2.jpg" alt="第2张图片"></a></li>
    		<li><a href="#"><img src="img/3.jpg" alt="第3张图片"></a></li>
    		<li><a href="#"><img src="img/4.jpg" alt="第4张图片"></a></li>
    		<li><a href="#"><img src="img/5.jpg" alt="第5张图片"></a></li>
    	</ul>
    	<ul class="num"></ul>  //
    	<div class="btn">
    		<span class="prev"><</span>
    		<span class="next">></span>
    	</div>
    	
    </div>
    
    <script>
    
    	$(function(){
    
    		var i=0;
    		var timer=null;
    		for (var j = 0; j < $('.img li').length; j++) {   //创建圆点
    			$('.num').append('<li></li>')
    		}
    		$('.num li').first().addClass('active');  //给第一个圆点添加样式
    
    		var firstimg=$('.img li').first().clone(); //复制第一张图片
    		$('.img').append(firstimg).width($('.img li').length*($('.img img').width()));  //将第一张图片放到最后一张图片后,设置ul的宽度为图片张数*图片宽度
    
    
    		// 下一个按钮
    		$('.next').click(function(){
    			i++;
    			if (i==$('.img li').length) {
    				i=1; //这里不是i=0
    				$('.img').css({left:0});  //保证无缝轮播,设置left值
    			};
    
    			$('.img').stop().animate({left:-i*600},300);
    			if (i==$('.img li').length-1) {     //设置小圆点指示
    				$('.num li').eq(0).addClass('active').siblings().removeClass('active');
    			}else{
    				$('.num li').eq(i).addClass('active').siblings().removeClass('active');
    			}
    			
    		})
    
    		// 上一个按钮
    		$('.prev').click(function(){
    			i--;
    			if (i==-1) {
    				i=$('.img li').length-2;
    				$('.img').css({left:-($('.img li').length-1)*600});
    			}
    			$('.img').stop().animate({left:-i*600},300);
    			$('.num li').eq(i).addClass('active').siblings().removeClass('active');
    		})
    
    		//设置按钮的显示和隐藏
    		$('.banner').hover(function(){
    			$('.btn').show();
    		},function(){
    			$('.btn').hide();
    		})
    
    		//鼠标划入圆点
    		$('.num li').mouseover(function(){
    			var _index=$(this).index();
    			$('.img').stop().animate({left:-_index*600},150);
    			$('.num li').eq(_index).addClass('active').siblings().removeClass('active');
    		})
    
    		//定时器自动播放
    		timer=setInterval(function(){
    			i++;
    			if (i==$('.img li').length) {
    				i=1; 
    				$('.img').css({left:0});
    			};
    
    			$('.img').stop().animate({left:-i*600},300);
    			if (i==$('.img li').length-1) {  
    				$('.num li').eq(0).addClass('active').siblings().removeClass('active');
    			}else{
    				$('.num li').eq(i).addClass('active').siblings().removeClass('active');
    			}
    		},1000)
    
    		//鼠标移入,暂停自动播放,移出,开始自动播放
    		$('.banner').hover(function(){  
    			clearInterval(timer);
    		},function(){
    			timer=setInterval(function(){
    			i++;
    			if (i==$('.img li').length) {
    				i=1; 
    				$('.img').css({left:0});
    			};
    
    			$('.img').stop().animate({left:-i*600},300);
    			if (i==$('.img li').length-1) {  
    				$('.num li').eq(0).addClass('active').siblings().removeClass('active');
    			}else{
    				$('.num li').eq(i).addClass('active').siblings().removeClass('active');
    			}
    		},1000)
    		})
    
    	})
    </script>
    

      

  • 相关阅读:
    HDU 1102 Constructing Roads
    HDU 1285 确定比赛名次。
    最小生成树 HDU 各种畅通工程的题,prim和kru的模板题
    HDU Jungle Roads 1301 最小生成树、
    并查集小结(转)
    HDU hdu 2094 产生冠军 拓扑排序 判定环
    模运算(转)
    拓扑排序(主要是确定环和加法) HDU 2647 Reward
    HDU 1372 Knight Moves 简单BFS
    用计算机模型浅析人与人之间沟通方式 (一)如何谈话
  • 原文地址:https://www.cnblogs.com/webcome/p/5447865.html
Copyright © 2011-2022 走看看