讓我解釋的麻煩是什麼。我有兩個函數:compute();和discount_compute();。當頁面第一次加載時,兩個函數都會執行一次(OK,因爲discount_compute()是compute的一部分,所以它在compute()執行時總是運行)。功能discount_compute運行,因爲$(「#自動競標」)上(「點擊」,()的函數 1倍,但隨後它:當我打開#自動競標面板(最初沒有將其設置在顯示屏上)。還運行2輪因爲「[數據滑塊]」的次)。對(「change.fndtn.slider」)。 Btw每次這個自動關閉面板關閉或打開滑塊重新初始化。我只想在打開#autobid-panel時運行一次discount_compute()。有任何想法嗎?麻煩與jQuery事件和函數觸發
function compute() {
//first function
};
function discount_compute() {
//second function
};
$(document).ready(function($) {
$('.price').change(compute).change();
$('#autobid').on('click', function() {
if ($(this).is(':checked')) {
$('#autobid-panel').removeClass("hide");
$(document).foundation('slider', 'reflow');
discount_compute();
} else {
$('#autobid-panel').addClass("hide");
$(document).foundation('slider', 'reflow');
}
});
$('#discount').on('change', function(){
var value = $(this).val();
$('.range-slider').foundation('slider', 'set_value', value);
discount_compute();
});
$('[data-slider]').on('change.fndtn.slider', function(){
discount_compute();
});
});
感謝您的幫助!
哎呀,你可以在上面'VAR hasRun'添加一個全局變量,它最初設定爲'FALSE'。初始運行後,將其設置爲「true」,然後檢查該變量是否爲「false」,允許運行,否則不會。 – JonH