Javascript 主体加载时的Java脚本函数调用

Javascript 主体加载时的Java脚本函数调用,javascript,Javascript,我有一个java脚本函数,我在body load mousemove()上调用了该函数。该函数正在工作,但问题是该函数没有重载。代码如下: function timeout(){ setTimeout ("logout()",60000); } function logout() { parent.parent.location="logout.php"; } <body on

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

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

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

<body onmousemove="timeout()" >
函数超时(){
设置超时(“注销()”,60000);
}
函数注销()
{    
parent.parent.location=“logout.php”;
} 

现在的问题是,它在加载正文和鼠标移动时调用,但页面在指定时间后仍会移动到注销页面,但它应该覆盖鼠标移动和函数调用时的时间。

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

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

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

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

var timeoutID = null;
function timeout() {
    if (timeoutID !== null) {
        clearTimeout(timeoutID);
    }
    timeoutID = setTimeout(logout, 60000);
}
我还将调用更改为
setTimeout
,以传递对
logout
函数的引用,而不是字符串。最好避免传递字符串,因为它使用
eval
,并且不是必需的