按钮增加屏幕上的数字

时间:2018-03-02 20:24:39

标签: javascript html

我想按每次按钮点击增加变量hey 但是,它并没有增加。

出了什么问题?



var hey = 0

function hi() {
  hey = ++hey
}

document.write(window.hey)

<button onclick="hi()">HI</button>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

目前,您只在加载时输出一次值 每次单击按钮时,您都需要在功能中更新显示。

我建议不要使用document.write,而是更新特定的DOM元素。

我还建议绑定一个事件监听器,而不是使用内联处理程序;
虽然either method will work

&#13;
&#13;
var hey = 0;
var trigger = document.getElementById('trigger');
var display = document.getElementById('display');

function increment() {
  display.innerText = ++hey;
}

trigger.addEventListener('click',increment);
&#13;
<button type="button" id="trigger">INCREMENT</button>
<span id="display">0</span>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您有正确的想法,但您的代码存在一些问题。

旁注:在编程中,将变量/函数命名为有意义且具有描述性的几乎总是一个好主意。

在下面的代码示例中,我将函数hey的名称更改为increment,因为该函数的目的是增加变量的值(我也将其重命名为i })。

我还将document.write()替换为console.log()

//create a global variable called i
var i = 0

//increment i each time the function is called
function increment() {
  i = ++i;
  console.log(i);
}
<!DOCTYPE html>
<html>

<body>
  <button onclick="increment()">Increment</button>
  <script>
  </script>
</body>

</html>