如果脚本无效,则为HTML按钮

时间:2016-10-07 13:27:53

标签: javascript html html5

我正在尝试创建一个脚本,每次按顺序单击按钮时,它将运行不同的函数。因此,例如,当单击按钮时,它将首先运行tick1函数,然后再次按下它将运行tick2函数。这是我的尝试,但它只会运行tick1函数。非常感谢,西蒙

<script>
var trafficktick = 1;
function tick() {
    if (trafficktick = 1) {
        tick1()
        var traffictick =  trafficktick + 1;
    } else if (trafficktick = 2) {
        tick2()
        var traffictick = trafficktick + 1;
    } else {
        var trafficktick = 1;
    }
} 
</script>

3 个答案:

答案 0 :(得分:1)

在if条件中使用===而非=

答案 1 :(得分:1)

完成多个错误:

  1. 您使用=(分配值)而不是===(比较)
  2. 你错误地写了trafficktick
  3. 而不是var trafficktick = trafficktick + 1;。只需trafficktick++;
  4. 即可

    &#13;
    &#13;
    var trafficktick = 1;
    
    function tick() {
      if (trafficktick === 1) {
        //tick1();
        console.log("Call tick1");
        trafficktick++;
      } else if (trafficktick === 2) {
        //tick2();
         console.log("Call tick2");
        trafficktick++;
      } else {
        trafficktick = 1;
      }
    }
    &#13;
    <button onclick="tick()">Click me</button>
    &#13;
    &#13;
    &#13;

答案 2 :(得分:0)

您的JavaScript中存在一些错误,请尝试以下操作:

<script>
    var trafficktick = 1; // Use var only here

    function tick() {

        // Use '==' or '===' depending on your logic operation to 
        // compare equality
        if (trafficktick == 1) { 

            // You want that? You can comment this call and call
            // it outside from an element (for example)
            tick1(); 
            traffictick ++; // Only '++' and no 'var' 

        } else if (trafficktick == 2) {

            tick2();
            traffictick ++; // Only '++' and no 'var'

        } else {

            trafficktick = 1; // No 'var'

        }
    } 
</script>