达到结束后,jQuery Scrollable返回开始

时间:2013-05-02 20:18:02

标签: jquery jquery-tools scrollable

我试图获得最新的jQuery工具'一旦到达结束,可滚动以返回第一个项目。我目前正在水平显示4个项目,使用下一个/上一个按钮一次移动1个项目。有一个叫做“循环”的房产。但直到最后一项显示在唯一的项目中才会生效。我需要在到达最后一个项目时停止滚动,然后将其滚动到第一个项目。

我已尝试过一些事情,例如:

jQuery(function() {
    // Initialize the Scrollable control
    jQuery(".scrollable").scrollable();
    // Get the Scrollable control
    var scrollable = jQuery(".scrollable").data("scrollable");
    // Set to the number of visible items
    var size = 4;

    // Handle the Scrollable control's onSeek event
    scrollable.onSeek(function(event, index) {
      // Check to see if we're at the end
      if (this.getIndex() >= this.getSize() - size) {
         // Disable the Next link
         jQuery("a.next").addClass("disabled");
       }
    });

   // Handle the Scrollable control's onBeforeSeek event
      scrollable.onBeforeSeek(function(event, index) {
      // Check to see if we're at the end
        if (this.getIndex() >= this.getSize() - size) {
        // Check to see if we're trying to move forward
          if (index > this.getIndex()) {
            // Cancel navigation
            scrollable.seekTo(0,1000);
          }
        }
      });
});

同样,问题是循环没有开始触发,直到显示4个空项目中的2个,然后它将填充其他两个,我想知道是否有可能使这更顺畅和从来没有显示空项目。

[网站已删除]

1 个答案:

答案 0 :(得分:0)

通过将vQuery工具从v1.2.7恢复到v1.2.5来修复

问题

我使用以下代码检测到达结尾的时间,然后在到达结束时滚动到项目列表的开头。

var $scroller = $('.scrollable').scrollable({onBeforeSeek:carousel}).autoscroll().data('scrollable');

$items = $('.scrollable .items div');
function carousel(e, idx) {
    // set this to 4 so it stops after 4 items
    if(idx > $scroller.getSize() - 4) {
        // return the beginning
        $scroller.seekTo(0).stop();
        // stop when we reach the end
        return false;
    }
}