如何从flexslider中删除所有幻灯片并添加新幻灯片?
或者如何销毁和重新初始化flexslider?
基本上我想重置flexslider。
//Create hotel image array
$('#carousel').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
itemWidth: 210,
itemMargin: 0,
minItems: 4,
asNavFor: '#slider'
});
$('#slider').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
sync: "#carousel",
start: function (slider) {
$('body').removeClass('loading');
}
});
flexslider的链接:
编辑:
PLUNKER LINK:qazxsw poi
我下载了这个应该有破坏方法的版本:LINK
我认为这将是答案,但由于某种原因,我的旋转木马似乎不再工作后装入第二组,好像我没有再次重新初始化它?
第1步 - 删除现有幻灯片:
https://github.com/woothemes/FlexSlider/pull/716
第2步 - 添加新幻灯片:
var slider = $('.flexslider');
while (slider.data('flexslider').count > 0)
slider.data('flexslider').removeSlide(0);
UPDATE!
第3步 - 将焦点设置回第一张幻灯片(省略此步骤导致不时获得空白幻灯片)
slider.data('flexslider').addSlide('<li>Hello world!</li>');
slider.data('flexslider').addSlide('<li>This is awsome</li>');
好吧,经过挖掘后发现flexslider现在有一个destroy方法,但它要求我在github页面上使用demo来使它工作。我创建了一个工作的plunker,添加和删除flexslider旋转木马slider.flexslider(0);
另见:LINK
你应该在OP中包含一个指向flexslider的链接,它不是我用过的/可以访问我的头脑。话虽如此,通常好的插件往往带有破坏方法。我要尝试的第一件事是看看是否在flexslider上定义了destroy方法,如下所示:
LINK
编辑:
看起来这个帖子有一些很好的提示/代码向底部尝试 - $('#slider').flexslider("destroy");
最好遵循这个。基本上它启动1个滑块。然后,如果你想重新启动然后删除第一个滑块html /数据然后开始添加新的并启动它。
你已经开始使用一个flexslider:
$('#element').flexslider({ animation: "slide", controlNav: false, directionNav: true });
当我想在之前创建的滑块中更改幻灯片并重新启动它时,id执行以下操作:
$('#element').before('
<div id="element_temp" class="flexslider"></div>
');
$('#element').remove();
var html = `
<ul class='slides">
<li><img src="link to image" /></li>
<li><img src="link to image" /></li>
<li><img src="link to image" /></li>
</ul>`;
$('#element_temp').html(html);