如果选中复选框,我想每隔x秒重新加载一次页面
我找到了一个为重新加载剪断的代码,并添加了一个if语句
但它不起作用。该脚本仅在没有if状态的情况下工作。
我想念什么?
<!-- Reload page-->
setTimeout(function()
{
if (document.getElementById('CheckBoxReloadPage').checked)
{
location.reload(true);
document.getElementById("CheckBoxReloadPage").checked = true;
}
},
5000);
由于
帕特里克
答案 0 :(得分:3)
您的页面在5秒后正确重新加载,但如果您在页面加载后的前5秒内选中了复选框,则仅。
如果您希望检查每5秒而不是从现在起5秒,请将setTimeout
更改为setInterval
。
然后,正如您可能想象的那样,当您的页面重新加载时,一切都将恢复原样 - 包括复选框。您必须将复选框的状态存储在会话存储中,并在加载时将其设置为您的复选框:
// Gets the reference of the checkbox once and for all
var myCheckbox = document.getElementById('CheckBoxReloadPage');
// Sets the initial value of the checkbox to the stored state
myCheckbox.checked = sessionStorage.getItem('checkbox-state');
// Listen to every change on the checkbox
myCheckbox.addEventListener('change', function (event) {
// Store the state of the checkbox to the session storage
sessionStorage.setItem('checkbox-state', event.target.checked);
});
setInterval(function() {
if (myCheckbox.checked) {
location.reload(true);
}
}, 5000);