如何在 JavaScript 中制作自动点击器? [英] How to make an auto clicker in JavaScript?

查看:22
本文介绍了如何在 JavaScript 中制作自动点击器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在制作一个点击游戏,我想知道如何制作一个按钮,当我点击它时,一个数字会随着时间间隔缓慢上升.我真的不知道如何做间隔,我试过做循环,但循环是即时的,没有间隔.

var number = 0;函数增加(){for (var i = 0; i <1; i++) {document.getElementById("number").innerHTML = number += 1}}

有人可以把它变成自动答题器吗?如上所述,我只想点击一次按钮,让变量数字"的值上升.谢谢.

解决方案

这是我的演示方法

  • 使用间隔
  • 使用 eventListener(不显眼的编码)
  • 清除间隔
  • 如何增加一个数字并改变速度
  • 如何使用数据属性
  • 如何使用类和 querySelector

var number = 0,增量 = 1,speed=1000,//一秒tId;函数 inc() {清除间隔(tId);//停止任何已经在运行的东西tId = setInterval(function() {document.getElementById("number").innerHTML = number += increment;}, 速度);}函数更改速度(){speed = +this.getAttribute("数据速度");//获取属性并转换为数字公司();}window.addEventListener("load", function() {//当页面加载完毕document.querySelectorAll(".start").forEach(function(but) {but.addEventListener("点击", function() {increment = +this.getAttribute("data-inc") ;//从按钮获取并转换为数字公司()});});document.getElementById("stop").addEventListener("click", function() {//点击时清除间隔(tId);});document.querySelectorAll(".speed").forEach(function(but) {but.addEventListener("click", changeSpeed);});});

<button type="button" class="start" data-inc="10">按10</button><button type="button" class="speed" data-speed="1000">一秒</button><button type="button" class="speed" data-speed="500">两秒</button><button type="button" id="stop">停止</button><div>号码:<span id="number">0</span>

I'm currently making a clicker game and I wanted to know how to make a button that when I click on it, a number slowly goes up with intervals. I don't really know how to do the intervals and I've tried doing loops but loops are instant and have no intervals.

var number = 0;

function increase() {
  for (var i = 0; i < 1; i++) {
    document.getElementById("number").innerHTML = number += 1
  }
}

<button onclick="increase()">
    by 1
  </button>
<div>
  number:
  <div id="number">
    0
  </div>
</div>

Can someone turn this into an auto clicker? as said above, i just want to click on the button once and have the value of the variable "number" go up. Thanks.

解决方案

Here is mine showing how to

  • use an interval
  • use eventListener (unobtrusive coding)
  • clear the interval
  • how to increment a number and change speed
  • how to use data attributes
  • how to use classes and querySelector

var number = 0,
  increment = 1,
  speed=1000, // one second
  tId;

function inc() {
  clearInterval(tId); // stop anything already running
  tId = setInterval(function() {
    document.getElementById("number").innerHTML = number += increment;
  }, speed);
}
function changeSpeed() {
  speed = +this.getAttribute("data-speed"); // get attribute and convert to number
  inc();
}
window.addEventListener("load", function() { // when page has loaded
  document.querySelectorAll(".start").forEach(function(but) {
    but.addEventListener("click", function() {
       increment = +this.getAttribute("data-inc") ; // get from button and convert to number 
       inc()
    });
  });

  document.getElementById("stop").addEventListener("click", function() { // when clicking
    clearInterval(tId);
  });

  document.querySelectorAll(".speed").forEach(function(but) {
    but.addEventListener("click", changeSpeed);
  });

});

<button type="button" class="start" data-inc="1">By 1</button>
<button type="button" class="start" data-inc="10">By 10</button>
<button type="button" class="speed" data-speed="1000">One a sec</button>
<button type="button" class="speed" data-speed="500">Two a sec</button>
<button type="button" id="stop">Stop</button>
<div>
  number: <span id="number">0</span>
</div>

这篇关于如何在 JavaScript 中制作自动点击器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
前端开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆