1

我正在使用 flexslider 显示一系列照片。通过 Ajax,我每隔 30 秒就会定期获得新的幻灯片集。addSlide()使用and更新 flexslider 中的幻灯片集或多或少都可以removeSlide(),但有副作用。

1) currentSlideflexslider 中的变量超出了最后一张幻灯片。这会导致显示空白幻灯片,因为这些幻灯片不存在。所以,我添加了一些修复代码来循环currentSlide指针:

current = slider.currentSlide;
...slider.addSlide(...);
...slider.removeSlide(...);
slider.currentSlide = current < slider.count ? current : slider.count - 1;

这可以解决问题,但非常难看。

2) 下一个挑战是,在幻灯片更新期间,flexslider 管理变得一团糟。这会导致幻灯片顺序发生变化(我可以忍受)、幻灯片数量不规则、幻灯片方向反转以及显示空白幻灯片。
作为测试,我在“之后”事件上触发了我的代码,使用

after : function(slider) {updateImages(slider)}

解决潜在的竞争条件,但是,这并没有改善情况。

3)我尝试在更新、使用slider.flexslider("pause")slider.flexslider("start")方法过程中停止和启动flexslider显示。不幸的是,这无济于事。

我得到的印象是我做错了什么,忘记了一些非常重要的事情。有人有线索吗?

4

0 回答 0