从AnythingSlider中删除所有面板并重新启动插件

时间:2011-04-12 16:59:41

标签: javascript jquery anythingslider

我正在使用AnythingSlider显示推文,博客文章,flickr照片和YouTube视频的混搭,最初效果很好。我正在尝试添加排序功能,但为此我需要删除按钮上的所有幻灯片 - >添加新幻灯片 - >并重新初始化插件。

AnythingSlider文档(以及代码)暗示了删除幻灯片的能力,插件应该大步迈进。我无法在任何地方找到任何类型的删除代码,所以我发现这样的东西会起作用:

$("#slider li:not(.cloned)").remove();

但到目前为止我没有运气。任何人都有这样的经历吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

没有任何内置代码可以删除幻灯片,因此您可以使用上面的代码,或者如果您真的想要删除所有幻灯片,请执行此操作(无需避免删除克隆的幻灯片):

$('#slider li').remove();

然后添加您想要的任何新幻灯片(排序或其他)

$('<li>New Stuff</li>').appendTo('#slider');

然后更新滑块

$('#slider').anythingSlider(); // don't include options

上面的代码与AnythingSlider demo page(主题选择器旁边的按钮)上看到的代码基本相同。我在下面添加了更多评论:)

// Add a slide
var imageNumber = 1;
$('button.add').click(function(){
  $('#slider1')
    // add a new slide, but cycle between two images
    .append('<li><img src="images/slide-tele-' + (++imageNumber%2 + 1)  + '.jpg" alt="" /></li>')
    // update the slider
    .anythingSlider();
});
$('button.remove').click(function(){
  // don't let the last slide get deleted - it's ok if you do delete it, it's just not purdy ;)
  if ($('#slider1').data('AnythingSlider').pages > 1) {
    // remove the last slide (the cloned slide is actually the last, that's why there is a ":not()" in there
    $('#slider1 > li:not(.cloned):last').remove();
    // update the slider
    $('#slider1').anythingSlider();
  }
});