如何销毁/删除/取消绑定Flexslider

问题描述 投票:10回答:4

关于destroy方法的github页面上有一些讨论,有关堆栈的几个问题,但是还没有一个直截了当的答案或解决方案,我在很多搜索之后能够找到。

当前版本的flexslider http://www.woothemes.com/flexslider/没有destroy方法。在说明中它表示前1.8版本,但使用该方法不起作用。

我需要取消绑定flexslider元素,然后在另一个元素上调用.flexslider(),因为我不希望同时运行多个滑块。

我怎样才能做到这一点?注意:删除导航元素,删除类,解开UL并删除“.clone”li是不够的!我想完全将滑块元素恢复到原始状态!

现在我在初始化flexslider之前克隆滑块,然后使用.after()在滑块后插入克隆,然后删除滑块。但这对我来说似乎是一种非常沉重的态度。

$projCur.addClass('flexslider').flexslider({
    animation: "slide",
    animationSpeed: 500,
    slideshow: false,
    manualControls: '.dot-nav li a'             
});

谢谢!

jquery slideshow destroy flexslider
4个回答
5
投票

Github用户提交了一个pull请求来为插件添加destroy方法。 https://github.com/woothemes/FlexSlider/pull/771

我用他的destroy方法获取了这个用户版本的插件,它对我很有用。我是从https://github.com/bradgreens/FlexSlider/tree/release-2-2-0得到的


4
投票

你试过分离并附上吗?这将保持状态甚至是任何超脱的事件。

var flex = $('.flexslider').detach(); //detach
$('body').append(flex); //reattach

3
投票

破坏方法永远不适合我。

我发现的唯一可靠解决方案(从当前版本2.2.2开始)是从DOM中完全删除flexslider元素,然后恢复它。

就像是:

$('.flexslider').remove();
// re-insert clean mark-up so flexslider can reset itself properly
$('.flexslider-container').append('<div class="flexslider"><ul class="slides"></ul></div>');

然后我从头开始重新初始化flexslider:

var imglist = '<li><img ...></li><li><img ...></li>...';
$('.flexslider ul.slides').html(imglist);
$('.flexslider').flexslider({ 
    ...
});

我还发现这种方法比添加和删除幻灯片更可靠,以便让滑块自行更新。


0
投票

对我来说,我找到了这个解决方案:

$('.logo-carousel').flexslider({
   move : 0
});
© www.soinside.com 2019 - 2024. All rights reserved.