JS 事件延迟执行

发布网友 发布时间:2022-04-23 04:06

我来回答

2个回答

热心网友 时间:2022-04-24 02:36

延迟执行,一般是用定时器,定时器有两种,一种是setInterval,另一个是setTimeout。

setInterval,是间隔执行,次数为无限次。

setTimeout,是隔一段时间,执行一次。

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

setTimeout() 和setInterval() 几乎是一样的,仅执行次数不同和单词不同而已。关闭setTimeout() 是用clearTimeout();

下面举一个setInterval的例子,仅供参考:

<style>    
div {width:100px; height:100px; position:absolute; top:50px; left:50px; background:#ccc;}    
</style>    
<script>    
window.onload=function(){    
var oDiv = document.getElementById('div1');    
var nLeft = parseInt(oDiv.currentStyle?oDiv.currentStyle.left:getComputedStyle(oDiv,false).left);    
var timer = setInterval(function(){    //开启定时器,
nLeft++;    
document.title=nLeft;    
oDiv.style.left=nLeft+'px';    
if(nLeft == 500)    
{    
clearInterval(timer);    //当left值为500时,关闭定时器。
}
    
},30);    
    
};    
</script>    
</head>    
<body>    
<div id="div1"></div>

热心网友 时间:2022-04-24 03:54

<div id="openwin2" onmouseover="setTimeout(function(){document.getElementById('opendiv').style.display='block';},1000);" onmouseout="document.getElementById('opendiv').style.display='none';">鼠标放上超过1s后弹出DIV</div>
<div id="opendiv">你已经在上面呆了1秒了!</div>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com