我的网页设计中有一个专栏,由JS函数“refreshColumn()”定期刷新,并由AJAX更新。
setInterval('refreshColumn()',60000);
function refreshColumn() {
..make call with AJAX and load response to element...
document.getElementById('myColumn').innerHTML = xmlhttp.responseText;
}
这没关系,但是,当我的用户实际使用该列并刷新它们时,它不太实用!
是否有可能修改我已经拥有的内容,加入一个'onmouseover'事件来阻止该函数运行AJAX并刷新列,'onmouseout'允许脚本再次刷新?
答案 0 :(得分:2)
您可以使用timeout
代替interval
,只需在mouseover
上清除它,然后在mouseout
重置。
<强> Live Demo 强>
var timeout = setTimeout(refreshColumn,60000);
function refreshColumn() {
// ajax call ect. reset the timeout
timeout = setTimeout(refreshColumn,60000);
}
element.onmouseover = function(){
clearTimeout(timeout);
}
element.onmouseout = function(){
timeout = setTimeout(refreshColumn,60000);
}