利用setTimeout && setInterval实现图片轮播

3 篇文章 0 订阅
2 篇文章 0 订阅

作者原创,转载请注明来源 😃

setTimeout(a,b);

在b/1000秒后执行a函数(只执行一次)

var c = setInterval(a,b);

每b/1000秒执行一次a函数,知道遇到
clearInterval(c);结束

两者逻辑并用实现图片轮播:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
.img_main{
	width:430px;
	height:250px;
	overflow:hidden;
}

.img, td{
	border:none;
	padding:0;
	margin:0;
}

.imgs td{
	width:430px;
	height:250px;
}
.imgs img{
	width:430px;
	height:250px;
}
</style>
</head>
<body>
	<div id=main class=img_main>
		<table id=imgs class=imgs  border="0" align="center" cellpadding="0" cellspacing="0" >
			<tr>
				<td><img src="res/ind001.jpg"></td>
				<td><img src="res/ind002.jpg"></td>
				<td><img src="res/ind003.jpg"></td>
				<td><img src="res/ind004.jpg"></td>
				<td><img src="res/ind005.jpg"></td>
				<td><img src="res/ind001.jpg"></td>
			</tr>
		</table>
	</div>
	<span id=tx></span>
<script type="text/javascript">
	var a = document.getElementById("main");
	var b = document.getElementById("imgs");
	var len = b.offsetWidth;
	var tx = document.getElementById("tx");
	var i = 0;
	var x = 10;
	
	function dos(){
		if(len - a.scrollLeft <=430){
			i = 0;
			a.scrollLeft -=len;
		} else {
			a.scrollLeft +=x;
		}
		tx.innerText = "left:"+a.scrollLeft+",len:"+len+",lens:"+b.offsetWidth+",减法:"+(len - a.scrollLeft);
		i ++;
		
		if(a.scrollLeft % 430 == 0){
			i = 0;
			clearInterval(run);
			setTimeout(sd,3000);
		}
	}
	
	function sd(){
		run = setInterval(dos,30);
	}
	
	var run = setInterval(dos,30);
</script>
</body>
</html>

APP、软件、网站开发可以在下方评论处留言

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值