javascript的setInterval()与setTimeout()的用法和区别以及如何改变元素坐标位置

来源:互联网 发布:揭秘淘宝衣服进货渠道 编辑:程序博客网 时间:2024/04/29 03:22

setTimeout(code,  millisec):

在你指定的时间后调用你指定的计算表达式或者函数, 其中,

参数 code:表示你想执行的js代码,函数。

参数 millisec: 表示调用函数之前所需等待的时间。

注意:改方法只会在你所指定的millisec 之后调用一次。


setInterval(code,  millisec):

在你指定的时间后循环调用你指定的计算表达式或者函数, 其中,

参数 code:表示你想执行的js代码,函数。

参数 millisec: 表示调用函数之前所需等待的时间。

注意:改方法会在你指定的millisec间隔循环的调用code。


x.style.position:

设置x 的定位方式。


x.offsetLeft(Top):

获取元素x的左上角距离x的父元素的左上角的left(top)值。


x.style.left(top):

设置x元素的left(top)值


下面是一个关于以上使用的案例总结

需求:定义两个div, id分别是div1, div2, 

要求div1 每隔一秒向右移动10 个像素, div2 在页面加载的1秒后向右移动100个像素, 只移动一次。

代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery.min.js" ></script>
</head>
<body>

<div id="div1" style="width: 120px; height: 100px; background-color: red;"></div>
<div id="div2" style="width: 120px; height: 100px; background-color: green; margin-top: 100px;"></div>

<script type="text/javascript">
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");

var width1 = div1.offsetLeft;
div1.style.position="absolute";
div1.style.top = "0px";

var width2 = div2.offsetLeft;
div2.style.position="absolute";
div2.style.top = "0px";


function setDiv1(){
width1 = div1.offsetLeft + 10;
div1.style.left = width1 + "px";

}

function setDiv2(){
width2 = div2.offsetLeft + 100;
div2.style.left = width2 + "px";

}

setInterval("setDiv1()",1000);
setTimeout("setDiv2()",1000);

</script>
</body>
</html>

阅读全文
0 0