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

时间:2009-09-03 18:35:04

标签: jquery jquery-plugins jcarousel

jCarousel documentation声明如下:

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

我的问题:

  

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

BTW:我不一定需要一种“便利方法”来做到这一点。我对解决方法非常开放 仅供参考:This strategy似乎不起作用。

2 个答案:

答案 0 :(得分:8)

您可以执行此操作,但您需要保留对旋转木马的引用并在其上调用reset。这可以通过使用传递给jcarousel函数的initCallback选项来实现。

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
    });
});

这是我的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>

答案 1 :(得分:3)

除上述内容外,还请指定新转盘的尺寸。

carousel.size(x);

这应该消除IE中的白色空盒子(如上所述)。

谢谢, NIK