0

最後に到達したら、最新の jQuery Tools の Scrollable を最初の項目に戻そうとしています。現在、横方向に 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 つが表示されるまで回覧がトリガーされ始めないことです。その後、他の 2 つが表示されます。示しています。

【削除されたサイト】

4

1 に答える 1

0

jQuery Tools を 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;
    }
}
于 2013-05-02T21:02:34.643 に答える