2013-05-13 55 views
0

我有一個jQuery滑塊功能。它設置了延遲時間並將其顯示在「#slider」div中:如何從一個jQuery函數獲取值並將其分配給另一個函數的參數?

$(function() { 
    $("#slider").slider({ 
     range: 'max', 
     min: 1, 
     max: 5, 
     slide: function(event,ui) { 
      $("#delayTime").val(ui.value); 
       delayTime = ui.value * 1000;    
     } 
    }); 
}); 

這個工作正常。

在後面的代碼中,我有另一個運行整個幻燈片的功能。 這個函數有它自己的參數,它決定了每張幻燈片之間的延遲時間:

function mySlideshow(){ 
    var wholeSlideshow = 
     $('#thumbHolder').galleryWithSlideshow({ 
      mainCntrls: true, 
      prevNextCntrls: true, 

      delayTime: 2000,  


      etc.  

    }); 

這一個自身工作完全正常了。

問題。

我應該添加到代碼通過我在滑塊功能 成幻燈片功能的delayTime參數獲得的價​​值,從而滑塊功能將決定幻燈片功能的 delayTime?

我正在考慮修改滑塊功能是這樣的:

$(function() { 
    $("#slider").slider({ 
     range: 'max', 
     min: 1, 
     max: 5, 
     slide: function(event,ui) { 
      $("#delayTime").val(ui.value); 
       delayTime = ui.value * 1000; 
       return delayTime;   
     } 
    }); 
}); 

以及添加到幻燈片功能的delayTime參數是這樣的:

delay: function (event, ui){ 
     $("#delayTime").val(delayTime); 
}, 

雖然我不能使它工作。

任何想法? 我將不勝感激您的幫助。

+0

對不起,我的無知,但什麼是'galleryWithSlideshow'?它來自插件還是其他內容? – gkalpak 2013-05-13 06:18:28

回答

1

在你的函數之外聲明一個變量myDelayTime。它將在整個代碼中被訪問。

var myDelayTime; 

$(function() { 
    $("#slider").slider({ 
     range: 'max', 
     min: 1, 
     max: 5, 
     slide: function(event,ui) { 
      $("#delayTime").val(ui.value); 
       delayTime = ui.value * 1000; 
       myDelayTime = delayTime; 
     } 
    }); 
}); 

... 

delay: function (event, ui){ 
     $("#delayTime").val(myDelayTime); 
}, 
0

把參數爲jQuery.data:

$(function() { 
    $("#slider").slider({ 
     range: 'max', 
     min: 1, 
     max: 5, 
     slide: function(event,ui) { 
      $("#delayTime").val(ui.value); 
       delayTime = ui.value * 1000; 
       $("#slider").data("delayTime",delayTime);  
     } 
    }); 
}); 

然後把它在任何地方:

delay: function (event, ui){ 
     $("#delayTime").val($("#slider").data("delayTime")); 
}, 
相關問題