代码之家  ›  专栏  ›  技术社区  ›  aman.s

选中复选框5秒后刷新JavaScript页面

  •  0
  • aman.s  · 技术社区  · 7 年前

    有没有办法 如果选中复选框,则每5秒刷新一次网页 ?

    例如,如果复选框未选中,则不会发生任何事情,但如果选中,则函数 refresh() 将使页面每5秒刷新一次。

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

    <input type="checkbox" id="autoRefresh" onclick="if(this.checked){refresh()}" checked>
    
    
    function refresh() {
             setTimeout(function () { location.reload() }, 5000);
        }
    
    1 回复  |  直到 7 年前
        1
  •  4
  •   mehulmpt    7 年前

    您必须将信息临时存储在选中复选框的某个位置,例如Cookie或localStorage。请尝试以下代码:

    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')
      }
    }
    <input type="checkbox" id="autoRefresh" onclick="toggleRefreshes(this.checked)">