-1

我正在尝试获得一个按钮来交替 2 个功能,每次单击时执行不同的功能。这是我的代码:

var count = 0;
$("#pijlrechts").click(function() {
    count++;
    var isEven = function(someNumber) {
        return (someNumber % 2 === 0) ? true : false;
    };
    if (isEven(count) === false) {
        $firstFunction();
    } else if (isEven(count) === true) {
        $secondFunction();
    }   
});

它告诉我函数没有定义,我在脚本的前面做了这些函数。

4

1 回答 1

1

除了你的代码中有一些奇怪的东西,除非你真的忘记定义脚本抱怨的函数,否则应该没有问题。

纠正奇怪的东西

  1. isEven功能是完全多余的。
  2. 表达式return condition ? true : false与 相同return condition
  3. 由于布尔值可以是truefalse,因此不需要if...else if. 只需检查条件是否为true(或false)并else用于相反的情况。

代码:

/* ----- JavaScript ----- */
var count = 0;

$("#pijlrechts").click(function() {
  /* Increment the counter. */
  count++;
  
  /* Execute the correct function based on the value of the counter. */
  count % 2 ? $firstFunction() : $secondFunction();
});

/* The functions your script complains about. */
function $firstFunction () { console.log("first") }
function $secondFunction () { console.log("second") }
<!----- HTML ----->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id = "pijlrechts">Click</button>

于 2018-03-26T11:51:25.027 回答