2011-03-31 65 views
0

爲了確保我不搞亂術語,下面是代碼示例。我正在使用jQuery Nivoslider,我希望能夠在列表框中更改已使用的效果。我能夠在div中顯示效果應該是什麼,但實際效果不適用於滑塊。動態設置jQuery對象選項/屬性

我在等待:jQuery(「#slider」)。effect = values;但這似乎並不奏效。

下面是部分代碼:

// Listbox  
<select id="slider-effect" name="effect[]" size="10" multiple="multiple" style="height:100px;"> 
<option value="sliceDownRight">Slice Down to Right</option> 
<option value="sliceDownLeft">Slice Down to Left</option> 
<option value="boxRain">Rain Boxes</option> 
<option value="boxRainReverse">Reverse Box Rain</option> 
</select> 

// Javascript that setups NivoSlider (actual div is missing, just an example) 
// shortend options for the example 
jQuery(window).load(function() { 
jQuery('#slider').nivoSlider({"effect":"boxRandom"});}); 


// Javascript that should change the option effect 
// this shows me the effect I set (not included in the code here) 

jQuery('#slider-effect').change(function() { 
var values = jQuery("#slider-effect").val(); 
jQuery('#slider-message').html('<p>Effect set to:' + values + '</p>'); 
jQuery("#slider")["effect"] = values; 
                }); 


     }); 
+1

我同意:(終於找到接受率是什麼,以及如何處理它。因此接受了我收到的良好答案。謝謝讓我意識到,並希望有人仍然會迴應我的問題! – JanWillem 2011-03-31 21:16:53

回答

1

我沒有看到在那個特定插件的任何規定接受更新的選項時,它已經被初始化之後。大多數jQueryUI插件支持如下所示:

jQuery('#something').pluginName('options', updatedOptions); 

其中「updatedOptions」是新值的映射。不過,我沒有看到任何支持該插件源代碼的東西。它啓動時接受各種選項,但無法告訴它改變任何事情。

說服它完全重新初始化可能是可能的,但插件就像它可能會很複雜,因爲它們(可能)會對DOM做各種奇怪的事情。

+0

感謝pointy,也許我可以刷新IFRAME以使其工作! – JanWillem 2011-04-01 10:50:55