Checked复选框上5秒后的JavaScript刷新页面

时间:2018-01-02 19:02:20

标签: javascript html checkbox refresh settimeout

如果选中复选框,是否每隔5秒刷新一次网页

例如,如果取消选中该复选框,则不会发生任何事情,但如果选中该复选框,则函数refresh()将在5秒后刷新页面。

这是我到目前为止的代码,但由于某种原因,这不起作用。

<input type="checkbox" id="autoRefresh" onclick="if(this.checked){refresh()}" checked>


function refresh() {
         setTimeout(function () { location.reload() }, 5000);
    }

1 个答案:

答案 0 :(得分:4)

您必须暂时将信息存储在选中复选框的位置,例如cookies或localStorage。试试下面的代码:

&#13;
&#13;
if(localStorage.getItem('doRefreshes')) {
  var x = setTimeout(function() {
    location.reload();
  }, 5000);
}

document.getElementById('autoRefresh').checked = !!localStorage.getItem('doRefreshes');

function toggleRefreshes(checked) {
  if(checked) {
    localStorage.setItem('doRefreshes', true)
    location.reload()
  } else {
    localStorage.removeItem('doRefreshes')
  }
}
&#13;
<input type="checkbox" id="autoRefresh" onclick="toggleRefreshes(this.checked)">
&#13;
&#13;
&#13;