我正在尝试使用某种切换按钮来启动和停止页面刷新,但是由于某种原因,停止过程无法正常工作。我的逻辑正确吗?
这是我的代码:
<button id = "toggleButton" onclick = "initRefresh()" > Stop Refresh </button>
<script>
function reloadUrl() {
window.location.replace(
[location.protocol, '//', location.host, location.pathname].join('')
);
}
function initRefresh() {
if ($('#toggleButton').text() == 'Start Refresh') {
$('#toggleButton').text("Stop Refresh");
t = window.setTimeout(reloadUrl, 45000);
} else {
$('#toggleButton').text("Start Refresh");
clearTimeout(t);
}
};
var t = window.setTimeout(reloadUrl, 45000);
</script>
默认选项(首次加载)处于启用状态。因此,当用户在45秒后首次进入该页面时,页面将刷新。
感谢您的帮助。
答案 0 :(得分:0)
我相信问题来自t
变量的初始化。
页面加载时,您将启动setTimeout。
将其更改为var t = null
,上面的代码应该可以使用。
答案 1 :(得分:0)
您的代码(有问题)正在100%有效。
但是如果将代码放在$(document).ready
事件中,则将无法正常工作。