动态更改flexslider的itemWidth

时间:2014-10-01 15:35:47

标签: javascript flexslider

我的flexSlider初始化如下:

$('.flexslider').flexslider({
    itemWidth: width
});

是否有可能在初始化后动态更改itemWidth并强制刷新以便应用新值?

2 个答案:

答案 0 :(得分:2)

我最后不得不修改flexslider脚本以使vars属性可用:

...
slider.vars = vars;

//FlexSlider: Initialize
methods.init();
...

然后可以修改vars.itemWidth并调用doMath来刷新滑块:

var slider = $(".flexslider").data("flexslider");
slider.vars.itemWidth = ...;
slider.doMath();

答案 1 :(得分:1)

我认为这是不可能的。一种方法是删除容器内的内容(假设它是.flexslider)。

$('.flexslider').text("").flexslider({
    itemWidth: newWidth
});

此解决方案的问题在于您正在重新初始化整个模块,这可能不是必需的。

另一种解决方案是编辑容器本身的宽度:

$('.flexslider').width("NEWpx")

最后一个解决方案:联系开发团队并要求refresh方法。

希望这个帮助,欢呼;)