2011-04-12 118 views
0

我正在使用AnythingSlider来显示推文,博客文章,flickr照片和YouTube视频的混搭,并且最初它的工作效果非常好。我试图添加排序功能,但要做到这一点,我需要删除按钮上的所有幻灯片 - >添加新幻灯片 - >并重新初始化插件。从AnythingSlider中删除所有面板并重新启动插件

AnythingSlider文档(以及代码)暗示了移除幻灯片的能力,插件应该跨越一步。我一直没能找到任何形式的删除代码的任何地方,所以我fiugured像这样的工作:

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

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

回答

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(); 
    } 
}); 
相关问题