动态更改柔性滑块的itemWidth

Dynamically change the itemWidth of a flexslider

本文关键字:itemWidth 动态      更新时间:2023-09-26

我有一个flexSlider初始化如下:

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

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

为了使vars属性可用,我最终不得不修改flexroader脚本:

...
slider.vars = vars;
//FlexSlider: Initialize
methods.init();
...

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

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

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

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

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

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

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

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

希望得到帮助,干杯!)