我想在单击按钮 x 秒后重新加载我的页面

I want to reload my page x seconds after a button is clicked

所以我希望我的页面在单击按钮后重新加载几秒钟。现在它每 5 秒自动重新加载一次。但是,如果我将超时函数放在 addEvenlistener 中,则会出错。我能做些什么来解决它?

button.addEventListener(
  'click',
  () =>
    (cover.style.visibility = 'hidden') && (button.style.visibility = 'hidden'),
);

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

奇怪,这应该行得通。您确定没有忘记点击回调中的花括号吗?

button.addEventListener('click', () => {
  cover.style.visibility = 'hidden';
  button.style.visibility = 'hidden';
  setTimeout(function () {
    window.location.reload();
  }, 5000);
});

你只需要像@Jonas 提到的那样把它写在 EventListener 里面。你也可以让超时值也是动态的

var timeoutValue = 5000
button.addEventListener('click', () => {
  cover.style.visibility = 'hidden';
  button.style.visibility = 'hidden';
  setTimeout(function () {
    window.location.reload();
  }, timeoutValue);
});