单击100次后,我想停止此功能

时间:2019-01-02 12:57:58

标签: javascript

我只想在单击100次后停止此代码。我是一个初学者。我正在使用第二个脚本来工作。

<form method="post" action="cashads.php" target="clk">
  <input type="hidden" name="ad_new" value="145">
  <input type="submit" id="clk" class="buttonN" style="background- 
    color:#1D03FB" value="Open Ad">

setInterval(function(){document.getElementById("clk").click();},42000);

这是第二个脚本,用于在100次点击后停止点击。

setTimeout(function(){ document.getElementById("clk").remove();},4200000);

2 个答案:

答案 0 :(得分:1)

您可以使用变量i,每次调用setInterval回调函数时都可以增加该变量。达到上限后,只需使用clearInterval函数即可防止进一步的点击。

var currentClick = 1;
// Change those values below according to your needs
var maxClick = 3; // Number of clicks
var delayClick = 1000; // Delay in milliseconds

var interval = setInterval(function() {
  console.log(currentClick);
  if (currentClick++ === maxClick) {
    clearInterval(interval);
  }
}, delayClick);

答案 1 :(得分:1)

解释

要使该代码整洁易读,您可以看到在此解决方案中,有一个简单的计数器变量,每次单击按钮时,计数器的值都会递增一次,一旦计数器达到99,则使{{1} }属性设置为onclick

在此示例中,我已经做到了,这样它也将清除间隔变量,也就是使用null

clearInterval
// Get access to the button.
const btn = document.getElementById("clk");
let counter = 0,
  interval;

// Once the button has been clicked 100 times. 
const onComplete = () => {
  btn.onclick = null;
  clearInterval(interval);
};

// Handle the click event. 
// Prints 0 - 99 (aka 100 clicks)
const clickHandler = () => {
  console.log(counter);
  counter++;
};

// Handle the on click event.
btn.onclick = () => counter >= 100 ? onComplete() : clickHandler();

// Demo 
interval = setInterval(() => {
  btn.click();
}, 0);