gpt4 book ai didi

javascript - body 负载上的 JavaScript 函数调用

转载 作者:行者123 更新时间:2023-11-30 23:50:14 24 4
gpt4 key购买 nike

我有一个java脚本函数,我在body load mousemove()上调用了该函数,该函数正在工作,但问题是该函数没有重载。这是代码:

 function timeout(){  
setTimeout ("logout()",60000);

}
function logout()
{
parent.parent.location="logout.php";
}

<body onmousemove="timeout()" >

现在的问题是它会调用主体负载,并且每当鼠标移动时,页面仍然会在指定时间后移动到注销页面,但它应该覆盖每当鼠标移动和函数调用时的时间。

最佳答案

每次调用 setTimeout 时,它都会向队列添加另一个调用。换句话说,您不会替换当前的超时。要修复此问题,您需要先取消现有的超时事件,然后再通过使用上一次调用 setTimeout 的值调用 clearTimeout 来启动另一个超时事件。

var timeoutID = null;
function timeout() {
if (timeoutID !== null) {
clearTimeout(timeoutID);
}
timeoutID = setTimeout(logout, 60000);
}

我还更改了对 setTimeout 的调用,以传递对 logout 函数的引用而不是字符串。最好避免传递字符串,因为它使用 eval 并且不是必需的。

关于javascript - body 负载上的 JavaScript 函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1695670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com