【问题标题】:Dynamically set jQuery object option/property动态设置 jQuery 对象选项/属性
【发布时间】:2011-03-31 20:23:32
【问题描述】:

为了确保我没有搞砸术语,这里是代码示例。我正在使用jQuery Nivoslider,并且我希望能够在我在列表框中更改它们时更改使用的效果。我可以在 div 中显示效果应该是什么,但实际效果并未应用于滑块。

我期待这样的东西: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;
                                                  });


        });

【问题讨论】:

  • 我同意 :( 终于找到了接受率是什么以及如何处理它。所以接受了我收到的好答案。无论如何感谢您让我知道,希望有人仍然会回答我的问题!

标签: jquery nivo-slider


【解决方案1】:

我没有看到该特定插件在初始化后接受更新选项的任何规定。大多数 jQueryUI 插件都支持这样的:

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

其中“updatedOptions”是新值的映射。但是,在该插件的源代码中,我没有看到任何对类似内容的支持。它在启动时接受各种选项,但无法告诉它更改任何内容。

也许可以说服它完全重新初始化,但使用这样的插件可能会很复杂,因为它们(可能)会对 DOM 做各种奇怪的事情。

【讨论】:

  • 谢谢你,也许我可以刷新一个 IFRAME 让它工作!
最近更新 更多