如何在按钮单击时切换功能

时间:2016-08-23 01:28:04

标签: javascript

我有一个按钮,我想在点击时在两个不同的功能之间切换。如第一次点击会调用功能A,第二次点击会调用功能B,第三次点击会调用功能A等。

对于html我有这样的事情:

<input type="image"onclick="test()">

对于javascript我有:

<script>
val = 1;
function test () {

    if (val = 1 ) {
    function1 ();
}
    else {
    function2 ();}
}
</script>

<script>
function function1() {
alert("1");
val = 2;}
</script>

<script>
function function2() {
alert("2");
val = 1;}
</script>

它只运行function1即使我设置val = 2,它也会运行function1。知道我做错了什么?

2 个答案:

答案 0 :(得分:2)

您正在使用赋值运算符来检查值。请改用相等运算符:

<script>
val = 1;
function test () {
    if (val == 1 ) {  // compare values using == (or maybe ===)
        function1();
        val = 2;      // use the assignment operator here
    }
    else {
        function2();
        val = 1;
    }
}
</script>

<强>更新

正如@nnnnnn指出的那样,您可能希望直接更新test()内的切换状态。

答案 1 :(得分:1)

如果您只需要切换按钮,则可以尝试XOR样式功能。

<script>
    val = 0;
    function toggle(){
        val = val ^ 1; // XOR 0^1 => 1, 1^1 => 0
        val == 0 ? function1(): function2();
    }
</script>

或以较短的方式

$('button').on('click', function(){
   // Show confirm dialog and assign to var
   var decision = confirm("-- your dialog here --");
   if ( decision ) {
    var id = $(this).attr('id');
    deleteComment(id);
   } else {
    // nothing happens
   }
});