1. 程式人生 > >Html5+JavaScript輪播圖實現方式

Html5+JavaScript輪播圖實現方式

這…足夠應付大學老師的作業了 /偷笑

這應該是大學JavaScript老師常佈置的js作業之一,只做了三個圖片,可以修改圖片和尺寸,修改好名字之後替換即可,如果要新增第四張圖片所有的px都要修改.一開始就是用三張圖片做的,就沒弄四張照片

圖片自己找吧,

樣式圖
可以很醜,但是姿勢要帥
下面是程式碼
index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>輪播圖</title>
		<link rel="stylesheet" type="text/css" href="css/reset.css"/>
		<link rel="stylesheet" type="text/css" href="css/main.css"/>
	</head>
	
	<body>
		<div id="box">
			<div id="imgbox">
				<img src="img/1.jpg"/>
				<img src="img/2.jpg"/>
				<img src="img/3.jpg"/>
			</div>
			<div id="img1box">
				<img id="img-1" src="img/up.png"/>
				<img id="img-2" src="img/down.png"/>
			</div>
			<ul>
				<li></li>
				<li></li>
				<li></li>
			</ul>
		</div>
	</body>
	
	<script type="text/javascript" src="js/lb.js"></script>
	
</html>

main.css

#box{
	height: 250px;
	width: 600px;
	border: 5px solid black;
	margin: 100px auto;
	position: relative;
	overflow: hidden;
}
#imgbox{
	height: 250px;
	width: 1800px;
	position: absolute;
}
#imgbox>img{
	height: 250px;
	width: 600px;
	float: left;
}
#img1box{
	width: 100%;
	height: 40px;
	position: absolute;
	top: 40%;
}
#img1box>img{
	height: 100%;
	width: 60px;
}
#img-1{
	position: absolute;
	left: 20px;
}
#img-2{
	position: absolute;
	right: 20px;
}
ul{
	width: 200px;
	height: 20px;
	list-style: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 220px;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
}
li{
	width: 20px;
	height: 20px;
	float: left;
	background: none;
	border: 2px solid limegreen;
	border-radius: 50%;
}

lb.js


	var imgbox=document.getElementById("imgbox");
	var li=document.getElementsByTagName("li");
	
	
	//點選控制
	li[0].style.background="lime";     //預設的顯示第一頁  將第一個圓圈改色
	li[0].onclick=function(){  		   //點選第一個標籤
		this.style.background="lime";  //給第一個標籤改色
		imgbox.style.left="0";	       //進行圖片的輪播
		li[1].style.background="";     //   將其他兩個標籤除色
		li[2].style.background="";
	}
	li[1].onclick=function(){
		this.style.background="lime";
		imgbox.style.left="-600px";
		li[0].style.background="";
		li[2].style.background="";
	}
	li[2].onclick=function(){
		
		this.style.background="lime";
		imgbox.style.left="-1200px";
		li[1].style.background="";
		li[0].style.background="";
	}
	
	
	var up=document.getElementById("img-1");
	var down=document.getElementById("img-2");
		
	//上一頁 下一頁控制
	up.onclick=function(){
		var y=imgbox.offsetLeft;     //獲取當前顯示頁,
		if(y>-600)                   //判定是否需要從第一頁跳轉到最後一頁
		{
			y=-1800;
		}
		var x=y+600;
		imgbox.style.left=x+"px";     //圖片輪播
		//判斷當前顯示頁 修改標籤顏色
		if(x==0)
		{
			li[0].style.background="lime";
			li[1].style.background="";
			li[2].style.background="";
		}
		if(x==-600)
		{
			li[0].style.background="";
			li[1].style.background="lime";
			li[2].style.background="";
		}
		if(x==-1200)
		{
			li[0].style.background="";
			li[1].style.background="";
			li[2].style.background="lime";
		}
	}
	down.onclick=function(){
		var y=imgbox.offsetLeft;
		if(y<-600)
		{
			y=600;
		}
		var x=y-600;
		imgbox.style.left=x+"px";
		switch (x)
		{
			case 0:
				li[0].style.background="lime";
				li[1].style.background="";
				li[2].style.background="";
				break;
			case -600:
				li[0].style.background="";
				li[1].style.background="lime";
				li[2].style.background="";
				break;
			case -1200:	
				li[0].style.background="";
				li[1].style.background="";
				li[2].style.background="lime";
				break;
		}

	}