Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图用JavaScript制作一个按钮,但它';它不工作了_Javascript - Fatal编程技术网

试图用JavaScript制作一个按钮,但它';它不工作了

试图用JavaScript制作一个按钮,但它';它不工作了,javascript,Javascript,我是JavaScript新手,我在这里使用了一个应用程序来学习如何使用该语言。 因此,在我的index.html中,我有以下代码: <div data-role="collapsible"> <h3>Reset Score</h3> <button type="button" id="resetscore">Reset</button> <script type="text/javascript"> func

我是JavaScript新手,我在这里使用了一个应用程序来学习如何使用该语言。 因此,在我的index.html中,我有以下代码:

<div data-role="collapsible">
  <h3>Reset Score</h3>
  <button type="button" id="resetscore">Reset</button>
  <script type="text/javascript">
  function reset() {
    localStorage.setItem('total_win', 0);
    localStorage.setItem('total_lose', 0);
  }
  </script>
</div>

重设分数
重置
函数重置(){
localStorage.setItem('total_win',0);
setItem('total_lose',0);
}
下面是页脚:

`<div id="scores" class="ui-grid-b">
<div class="ui-block-a">Tries left:<span id="tries_left">4</span></div>
<div class="ui-block-b">Total win:<span id="total_win">0</span></div>
<div class="ui-block-c">Total lost:<span id="total_lose">0</span></div>
</div>`
`
左:4
全胜:0
损失总额:0
`
我基本上是想把分数重置为零。但它不起作用。。。 我试图在reset()函数中放入一些alert(),但也不起作用

有人知道为什么会这样吗? 谢谢你的帮助

只需添加以下内容:

<button type="button" onclick="reset()" id="resetscore">


您需要知道要使用哪一个函数,请注意,
onclick
,它正是这样做的,因此在单击时执行reset,您的按钮需要调用reset

重置

使用onclick属性:

<div data-role="collapsible">
      <h3>Reset Score</h3>
      <button type="button" id="resetscore" onclick="reset()">Reset</button>
      <script type="text/javascript">
      function reset() {
        localStorage.setItem('total_win', 0);
        localStorage.setItem('total_lose', 0);
      }
      </script>
    </div>

重设分数
重置
函数重置(){
localStorage.setItem('total_win',0);
setItem('total_lose',0);
}

您正在声明函数,但不在任何地方调用它。因此,您需要在单击按钮的事件处调用函数。

您应该为单击事件添加一个事件侦听器

由于您的注释,您可以通过更改内部HTML来更改DOM,请参见下面的代码段和代码:

document.getElementById('resetscore')。addEventListener('click',function(){
//localStorage.setItem('total_win',0);
//setItem('total_lose',0);
document.getElementById('total_win')。innerHTML=0;
document.getElementById('total_lose')。innerHTML=0;
});
document.getElementById('win')。addEventListener('click',function(){
var a=parseFloat(document.getElementById('total_win').innerHTML);
document.getElementById('total_win').innerHTML=(a+1).toFixed(0);
});
document.getElementById('loss')。addEventListener('click',function(){
var b=parseFloat(document.getElementById('total_lose').innerHTML);
document.getElementById('total_lose').innerHTML=(b+1).toFixed(0);
});

重设分数
重置
+1胜
+1损失
左:4
全胜:0
损失总额:0

您已经声明了函数reset(),但没有在任何地方调用它,因此基本上从未调用过该函数。您是否添加了侦听器?您是否希望跨距自动更新内容以匹配您的本地存储变量?如果您调用函数(),您发布的代码会正常工作,但不清楚您要做什么。是的,因为这是一个游戏。当我赢或输的时候,它是有效的。但是这个函数不是…我做了,但仍然不工作。谢谢你的回答!我做到了,但仍然没有工作。谢谢你的回答!什么不起作用?有人打电话吗?我没有尝试修复您的重置功能,但我不会使用localstorage。您可以执行类似“document.getElementById(“total_win”).innerHTML=0”的操作。我已经编辑了答案。不太清楚您想做什么,您知道您的重置函数所做的更改只会更新本地存储,而不是DOM@brunervaI想要更改DOM。因为它在计算胜利和失败,所以它又一次失败了,现在它正在改变。您可以删除加号和减号按钮。我已经为演示禁用了本地存储,如果需要,只需取消注释即可@谢谢你,迈克尔,我现在明白了。但是,正如我所说的,我认为我的问题更大。我不明白为什么这个代码没有运行。。。