1. 程式人生 > >jq無縫輪播圖

jq無縫輪播圖

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!-- css中只有樣式 -->
<style type="text/css">
*,ul,a{
	margin:0;
	padding:0;
	border:0;
	list-style:none;
	text-decoration:none;
}
#swiper{
	width:469px;
	height:159px;
	margin:0 auto;
	border:1px solid #c0a599;
	margin-top:30px;
	position:relative;
	overflow:hidden;
	background: deepskyblue;
}
#list{
	position:absolute;
	height:400px;
}
.li{
	width:469px;
	height:259px;
	float:left;
}
.li a img{
	width: 100%;height: 100%;
}
</style>
<!-- 這裡需要匯入jQuery包,不然程式無法執行 -->
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
//用到的是jQuery程式碼,不介紹程式碼單個意思
$(function(){
	//獲取li的個數
	var len=$(".li").length;
	//把所有li的寬度算好,賦值給ul當寬度
	$("#list").width($(".li").eq(0).width()*len);//n個li的寬度
	//id是為了後面的計時器暫停設定的
	var id;
	//index用來統計滾動次數
	var index=0;
	//啟動計時器
	id=setInterval(start,3000);
	//給ul(#banner)新增hover選擇器事件
	$("#list").hover(function(){
		//滑鼠進入的時候暫停
		clearInterval(id);
	},function(){
		//滑鼠離開的時候開始
		id=setInterval(start,3000);
	});
	//計時器中執行的程式碼塊
	function start(){
		//執行的時候次數++
		index++;
		//用animate設定ul的left屬性,與左邊的距離
		$("#list").animate({'left':-$(".li").eq(0).width()*(index%len)});
		//實現無縫輪播的關鍵地方
		//判斷index%len的值index%len=0的時候表示第一張,那麼len-1表示最後一張,
		//最後一張與第一張一模一樣,所有直接修改left屬性     無縫輪播需要第一張與最後一張是一樣的圖片(重要)
		//console.log(index,len,index%len,len-1)
		if(index%len==(len-1)){
			$("#list").animate({'left':0},0);
			//同時給index+1跳過第一張圖的再次載入
			index++;
		}
		//實際的載入情況就是第一張,第二張,第三張,第四張,第五張(瞬間改變圖片為第一張的,是一模一樣的替換,不是滾動,看不出來,所以稱之為無縫輪播),第二張...
	}
});
</script>
</head>
<body>
<div id="swiper">
	<ul id="list">
		<li class="li"><a href="#"><img alt="" src="img/QQ圖片20181025164501.png"></a></li>
		<li class="li"><a href="#"><img alt="" src="img/glyphicons-halflings.png"></a></li>
		<li class="li"><a href="#"><img alt="" src="img/glyphicons-halflings-white.png"></a></li>
		<li class="li"><a href="#"><img alt="" src="img/glyphicons-halflings.png"></a></li>
		<li class="li"><a href="#"><img alt="" src="img/QQ圖片20181025164501.png"></a></li>
	</ul>
</div>
</body>
</html>