首页 > 解决方案 > 使用 javascript 单击页面中的所有链接,延迟 5 秒

问题描述

我想为我的网站创建一个预缓存系统。到目前为止,我创建了一个简单的 HTML 页面,并使用 JavaScript 每 5 秒点击一次链接。我面临的问题是循环,所以我无法使用任何方法通过链接,并且每 5 秒它会点击相同的第一个链接。我尝试了很多方法(不同的条件和循环),但它们没有工作另外,我搜索它,我发现的结果对我没有帮助。可以肯定地说我在使用 js 方面并不先进,所以我需要一些帮助。我拥有的代码

setInterval(function() {
  document.getElementById('test').click();
}, 5000);
body {
  font-family: yekan;
  text-align: center;
  background-color: #E2E2E2;
  direction: rtl;
  padding: 0 10px;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>pre-Cache</title>
  <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.5.1.min.js"></script>
</head>

<body>

  <a class="click" id="test" href="https://www.youtube.com/" target="_blank">1</a>
  <a class="click" id="test" href="https://www.google.com/" target="_blank">2</a>
  <a class="click" id="test" href="https://yahoo.com/" target="_blank">3</a>
</body>

</html>

谢谢

标签: javascripthtmljquery

解决方案


您可以使用class而不是id

 const clickInterval = setInterval(function () {
   const el= document.querySelector('.click:not(.clicked)');
   if(el){
     el.classList.add('clicked');
     el.click()
  }else{
     clearInterval(clickInterval);
  }    
},5000);

推荐阅读