2016-07-15 122 views
0

當我加載控制檯日誌打印的頁面時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'); 
} 
+0

move'});'結束? – bansi

+0

'$(「。shuffle」){}'這是什麼?,語法錯誤我認爲 – Sherlock

+0

不,因爲我希望它打印真正的頁面加載時,也工作時,我點擊按鈕 –

回答

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); 
+0

是的,但我希望它在開始時不被洗牌,並執行其任務,當用戶點擊洗牌時,它執行另一個任務(它像你的手機中的音樂播放器) –

+0

無論你想要它要做的,把它放在回調函數中。 – Barmar

+0

我不明白你可以給我舉個例子 –

0

你的代碼似乎工作。但是,您可以像下面那樣簡化它。

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

有沒有什麼辦法可以切換布爾值並添加一個事件監聽器 –

+0

@ShubhSheth你想在點擊旁邊聽什麼事件?當一個變量改變它的值時沒有事件發生。 – Barmar

+0

什麼樣的事件監聽器? – Arif