我的问题标题可能看起来令人困惑,让我解释一下我的情况。任何帮助将不胜感激。
我之前从未这样做,因此我无法在谷歌中指出解决方案。
我有一个jquery幻灯片,我把它包装在一个函数中,因为我有一些附加的动画,请看下面...
// my slider function
bikeSlider = function () {
var slider = $('#bike-minislider').bxSlider({
displaySlideQty: 5,
infiniteLoop: false,
hideControlOnEnd: true
});
$('#bike-minislider-fade').fadeIn();
};
// this runs the function
bikeSlider();
正如您所看到的,在bikeSlider
函数之后,我立即使用... bikeSlider();
运行该函数
稍后,我使用jquery .hide()
在幻灯片中隐藏一些幻灯片。
因为我的jquery幻灯片放映功能,计算#bike-minislider
div中可见幻灯片的数量,这意味着新的可见幻灯片数会导致幻灯片放映不起作用。我想它需要重新计算新的幻灯片数量。
简而言之,我认为可以通过再次运行bikeSlider();
函数来解决这个问题。
所以我在下面尝试了这个,但它没有用。
bikeFilter = function (y) {
$('.bike').fadeOut();
$('.bike[data-group=' + y + ']').fadeIn();
bikeSlider();
return false;
}
正如您所看到的,我正在尝试重新运行函数bikeSlider();
- 但它似乎是在旧版本的顶部运行它,所以我的问题是,如何删除原始幻灯片功能再次运行之前。
或重新加载/刷新原始功能,以便重新计算新的幻灯片数量?
任何指针都会非常有用。
谢谢。
答案 0 :(得分:0)
据我了解你不需要重新创建滑块,但你可以通过调用两次
来完成bxSlider()
根据文档,你需要通过
重新启动滑块reloadShow()
//Reinitialize a slide show
有关详细信息,请参阅公共职能
部分 bxslider您需要为slider-object
调用reloadShow()var mySlider;
$(function(){
mySlider= $('#bike-minislider').bxSlider({
auto: true,
controls: true
});
mySlider.reloadShow();
})