我在Divbox上有一个如下所示的setInterval函数,所以如果我离开divbox,会触发此setInterval:
setInterval("playthis()", 1000);
Run Code Online (Sandbox Code Playgroud)
我想什么它做的事:如果我离开divbox,让接下来的2秒rehover它内说了,应该的setInterval 不触发.
这可能吗?
你可以使用堂兄弟setTimeout并clearTimeout设置一个函数回调,setInterval它只在2个不间断的秒后调用你:
var handle = null;
function yourDivboxLeaveHandler() {
handle = setTimeout(startPlay, 2000);
}
function yourDivboxHoverHandler() {
if (handle !== null) {
clearTimeout(handle);
handle = null;
}
}
function startPlay() {
setInterval(playthis, 1000); // use function references please, not eval
handle = null;
}
Run Code Online (Sandbox Code Playgroud)
你会想要比这更好的变量/函数名称.
| 归档时间: |
|
| 查看次数: |
8539 次 |
| 最近记录: |