知道布尔值是否改变了它的值

时间:2016-07-15 04:54:48

标签: javascript jquery html addeventlistener event-listener

当我加载页面时,控制台日志打印 true 但是当我点击按钮时没有任何反应。我认为事件监听器可能有所帮助但我不太擅长javascript请帮助

<button class="shuffle">shuffle</button>
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
<script type="text/javascript">
var player = $("#audioPlayer")[0];
var length = $("#queue li").length;
var shuffle = true;

$(".shuffle").on('click', function() {
    if (shuffle === true) {
        shuffle = false;
    }else{
        shuffle = true;
    }
});
if (shuffle === true) {
    console.log('true');
}
if (shuffle === false) {
    console.log('false');
}

2 个答案:

答案 0 :(得分:0)

您的代码似乎正在运行。但是你可以像下面这样简化它。

var shuffle = true;
$(".shuffle").on('click', function() {
    shuffle = !shuffle;
    //Do whatever code you want to run when boolean changes
});

答案 1 :(得分:0)

定义一个执行您想要执行的操作的函数。然后,您可以在页面加载时以及用户点击时调用它。

function do_player_stuff(p) {
    if (shuffle) {
        console.log("Shuffling");
    } else {
        console.log("Not shuffling");
    }
}

$(".shuffle").on("click", function() {
    do_player_stuff(player);
    shuffle = !shuffle;
});

do_player_stuff(player);