HTML5+js的两种轮播图(静态获取图片方法和动态获取图片)

第一种:静态获取图片写法,给定图片的个数,用js实现轮播图自动转换。
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<!-- *******设置样式********** -->
	<style type="text/css">
		.show_div{
			width: 400px;
			height: 400px;			
			margin:  0 auto;
			border: 2px solid block;
			overflow: hidden;
		}
		.scroll_div{
			width: 2000px;
			height: 400px;
		}

		.scroll_div img{
			width: 400px;
			height: 400px;
			float: left;
		}
	</style>
	<!-- end -->
</head>
<body>
	<div class="show_div">
		<div class="scroll_div">
			<img src="img/b.jpg" alt="">
			<img src="img/c.jpg" alt="">
			<img src="img/d.jpg" alt="">
			<img src="img/a.jpg" alt="">
			<img src="img/b.jpg" alt="">
		</div>
	</div>
</body>
<!-- *********js代码******** -->
<script type="text/javascript">
	var scrollDiv = document.getElementsByClassName("scroll_div")[0];	
	// 定义初始值
	var left =0;
	// 定义一个定时器 走一步 
	function move(){
		var timer = setInterval(function(){
			left --;
			if (left <= -1600) {
				left = 0;
			}
			if (left % -400 == 0) {
				clearInterval(timer);
				timer = null;
			}
			scrollDiv.style.marginLeft = left + "px";
		},10);
	}
	// 定义一个定时器 每隔固定时间 走一张
	setInterval(function(){		
		move();		
	},5000);
</script>
</html>

第二种:动态获取图片写法。在js块中写入存放图片和相关数据的数组,然后通过拼接字符串的方式展示到页面中,然后设置相关的样式

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<link rel="shortcut icon" href="img/title.jpg" type="image/png">
	<title>jsan版轮播图</title>
	<style type="text/css">
		*{
			padding: 0;
			margin:0;
		}
		.show_div{
			width: 400px;
			height: 400px;
			border: 2px solid black;
			overflow: hidden;
			margin: 0 auto;
		}
		.scroll_div{
			height: 400px;
			position: relative;
		}
		.scroll_div div{
			width: 400px;
			height: 400px;
			background-color: cyan;
			float: left;
		}
		.scroll_div p{
			width: 400px;
			height: 30px;
			position: absolute;
			bottom: 0;
			background-color: black;
			opacity: 0.7;
			font-size: 20px;
			color: white;
			text-align: center;
		}
		.scroll_div img{
			width: 400px;
			height: 400px;
			float: left;
		}
	</style>
</head>
<body>
	<div class="show_div">
		<div class="scroll_div"></div>
	</div>
</body>
<script type="text/javascript">
	var showDiv = document.getElementsByClassName("show_div");
	var scrollDiv = document.getElementsByClassName("scroll_div")[0];
	/*数组*/
	var data = [{url:"img/z3.jpg",title:'张杰1'},{url:"img/z4.jpg",title:"张杰2"},
				{url:"img/z5.jpg",title:"张杰3"},{url:"img/z6.jpg",title:"张杰4"}];
	scrollDiv.style.width = 400 * (data.length+1)+"px";
	for (var i = 0; i < data.length; i++) {
		/*创建div,并放进父级元素下面*/
		var myDiv = document.createElement('div');
		scrollDiv.appendChild(myDiv);
		myDiv.innerHTML = '<p>'+data[i].title+'</p>'+'<img src = "'+data[i].url+'">';
	}
	/*轮播图代码 和第一种代码原理相同,*/
	var left = 0;
	setInterval(function(){
		move();
	},5000);
	function move(){
		var timer = setInterval(function(){
			left -- ;
			if (left % -400 == 0) {
				clearInterval(timer);
			}
			if (left == -1200) {
				left = 0;
			}
			scrollDiv.style.marginLeft = left +"px";
		},10);
	}
</script>
</html>



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值