如何在 JavaScript 中制作自动点击器? [英] How to make an auto clicker in JavaScript?
本文介绍了如何在 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屋!