jCarousel:你可以删除所有项目并重新绑定到新的集合吗?

Jim*_* G. 7 jquery jquery-plugins jcarousel

jCarousel文档说明以下内容:

  • 通过将回调函数itemLoadCallback作为配置选项传递,您可以动态创建(li)内容的项目.
    {...}
  • jCarousel包含一个方便的方法add(),可以传递要创建的项的索引和要创建的项的innerHTML字符串.

我的问题:

是否可以删除所有项目并重新绑定到新集合?

顺便说一句:我不一定需要一种"便利方法"来做到这一点.我非常乐于解决问题.
仅供参考:这个策略似乎不起作用.

set*_*eth 8

你可以做到这一点,但你需要保持对旋转木马的参考并呼吁reset它.这可以通过使用initCallback传递给jcarousel函数的选项来实现.

function carousel_callback( carousel, state) {
    // BWA-HA...I have the carousel now....FEEL THE POWER!

    // reset empties it out
    $('#reset-caro').click( function( evt ) {
        carousel.reset();
    });

    // here's how to call add
    $('#add-to').click( function( evt ) {
        // ..this just adds to the first spot..modify as needed
        carousel.add(0, "<li>O HAI!</li>");
    });
}

$(document).ready(function() {
    $('#mycarousel').jcarousel( {
        initCallback: carousel_callback
    });
});
Run Code Online (Sandbox Code Playgroud)

这是我的HTML:

  <a id="reset-caro" href="#">reset</a>

  <a id="add-to" href="#">add</a>  

  <ul id="mycarousel" class="jcarousel-skin-tango">
    <li>MOM</li>
    <li>DAD</li>
    <li>BROTHER</li>
    <li>SISTER</li>
  </ul>
Run Code Online (Sandbox Code Playgroud)

  • 这可能有点晚了,但我今天也遇到了这个问题.要修复白框,skin.css中有一个名为.jcarousel-item-placeholder的样式.它有"#fff"的背景.如果删除此行或将其设置为background:none,则不会看到白色框. (2认同)