【问题标题】:How to add 1 to a javascript variable by clicking a button?如何通过单击按钮将 1 添加到 javascript 变量?
【发布时间】:2014-01-06 17:53:39
【问题描述】:

我几乎没有编写 javascript 的经验,我迫切需要帮助。我需要这样做,当点击一个按钮时,分数会上升一个类似于 cookie clicker 游戏的工作方式,这是针对分配的,最终产品是类似于 cookie clicker 游戏的游戏。

这是我目前的代码;

<!DOCTYPE html>
<html>

<head>
    <title> Assignment </title>

</head>

<body>
    <header>
        <strong>Don't Touch The Button</strong>
    </header>

    <div class="game-object">
        <script type="text/javascript">
            var clicks = 0;
        </script>
        <button type="button" onClick ="clicks++" id="push"> NO. </button>
    </div>

【问题讨论】:

  • 啊,谢谢,实际上我从来没有那样做 :)
  • 我不确定这是否只是粘贴代码的问题。但是你声明了同一个全局变量:clicks 两次。
  • 您的代码已经完全按照您的意愿行事。有什么问题?

标签: javascript html button


【解决方案1】:

您的代码已经有效。 Here's a demo 演示了你的代码。

我添加了一个显示点击次数的功能:

function updateClickCount() {
    document.getElementById("clickCount").innerHTML = clicks;
}

【讨论】:

    【解决方案2】:

    最好在代码组织方面单独定义这个函数:

    var incrementCount = function(){
        clicks++;
    }
    

    然后从你的 onclick 调用它:

    <button type="button" onClick ="incrementCount();" id="push"> NO.</button>
    

    更妙的是,将所有内联 javascript(也称为“突兀”javascript)全部去掉,并创建一个能够自动响应所有这些类型按钮上的所有点击事件的对象,这将是明智之举,但目前可能超出你的水平。

    您可以将此添加到您包含的外部 JS 文件中,并创建一个新的“计数器”对象,当用户单击您的按钮对象时自动触发。

    【讨论】:

    • 哈,刚写答案的时候出现这个,优雅多了=D
    • 您的 JSFiddle 没有声明“clicks”变量
    • 这应该可行...我会看看它我显然在某处犯了一个愚蠢的错误......
    • 有人希望将所有东西都交给他们,而不是接受概念并自己学习语法。他的问题和解决方案已在此处明确指出并提供。
    • 是的,这很好用。我不确定你在哪里遇到问题。我的帖子的主要目的是让 OP 将他们的代码从突兀的功能中抽象出来,并解决问题。请看这里:jsfiddle.net/qPsfu/4
    【解决方案3】:

    您可以内联执行,但从长远来看,如果您打算稍后重用它,或者如果您需要在单击按钮时执行其他操作,则将函数放入脚本中更易于维护.

    JS

    function onClick(){clicks++;}
    

    HTML

    <button type="button" onClick ="onClick()" id="push"> NO.</button>
    

    【讨论】:

    • 你需要做onclick()onClick 自己不会做任何事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 2020-06-08
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多