2011-04-27 71 views
0

上週我在jQuery Tools官方論壇上詢問了這個問題,但它絕對不是像stackoverflow那樣活躍,所以我想我也會在這裏問。jQuery Tools - 垂直滾動條一個條目太長

在我們的項目詳細信息頁面上,我們動態地加載了使用垂直滾動條瀏覽的內容。問題在於垂直滾動條的高度總是看起來太高。我無法找到任何方式來以編程方式影響。

如果我將它設置爲true,它似乎有正確的高度,但我們不希望它是連續的/圓形的。

這裏舉例: http://www.centerline.net/projects/detail/?p=21

Unminified JS是在這裏: http://www.centerline.net/lib/js/site-unmin.js

任何想法?

下面是它應該是什麼時,滾動到最後一個項目像(向下箭頭消失的觀點,並且不允許最後一個縮略圖下方的空白區域。 Correct Vertical Scroller Stop Point

+0

請說明它是如何應看,photoshopped截圖將是不錯的;-) – 2011-04-27 13:20:44

+0

@加里綠色設計看起來不錯。但是當你點擊主圖像或視頻右側的向下箭頭時,它會滾動太多一個項目。謝謝! – Keefer 2011-04-27 13:32:59

回答

1

上面的解決方案看起來似乎會工作,也要在這裏找到了解決辦法:

http://www.jasoncarr.com/technology/jquery-tools-scrollable-stop-scrolling-past-the-end

我的網站實際的代碼是這樣:

$(function() { 
    // Initialize the Scrollable control 
    $(".scroll").scrollable({vertical:true, mousewheel:true, keyboard:true }); 

    // Get the Scrollable control 
    var scrollable = jQuery(".scroll").data("scrollable"); 

    // Set to the number of visible items 
    var size = 2; 
    // 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 
     return false; 
     } 
    } 
    }); 

}); 
0

不幸的是在申報單的數量。物品容器應該可以被你想要顯示的物品數量整除,所以你有3個div,但你一次只顯示2個物品,這就是爲什麼可滾動的插件出現故障 你可以打開非微型的源代碼,改變它有點難,

或者更簡單的解決方案是要麼添加一個新的div並將其設置爲4到2.

或者將您每次顯示的項目數減少到1並增加div的高度。

使用另一個插件也可能工作。

希望它有幫助

+0

@omekirk:如果我有4個div,一次顯示2個,它仍然會出現故障:http://www.centerline.net/projects/detail/?p=104 或者您是否說因爲它滾動了一個項目,但在任何時候都有2個可見的問題?如果是這樣的話,我將如何調整它以一次滾動兩個? – Keefer 2011-04-27 14:55:00

0

問題是,jQuery工具滾動所有的圖像。在最後的圖像之後,只有一些空的空間。

嘗試將其添加到滾動構造

$('.scroll').scrollable({ 
    onBeforeSeek: function(e, index) { 
     if (index == $('.items').size()) { 
      return false; 
     } 
    }, 
    onSeek: function(e, index) { 
     if (index == $('.items').size()-1) { 
      $('.next').hide(0); 
     } else { 
      if ($('.next').is(':hidden')) { 
       $('.next').show(); 
      } 
     } 
    } 
}); 

OR

api = $('.scroll').scrollable({ 
    //your setup code 
}); 

api.onBeforeSeek: function(e, index) { 
     if (index == this.getSize()) { 
      return false; 
     } 
    } 
api.onSeek: function(e, index) { 
     if (index == this.getSize()-1) { 
      $('.next').hide(0); 
     } else { 
      if ($('.next').is(':hidden')) { 
       $('.next').show(); 
      } 
     } 
    } 

免責聲明:IM沒有專家。我沒有測試過這個。你的代碼被縮小了,看不清楚。我很少使用jQuery工具。但我認爲這將是一條路。

+0

我的原始代碼是'$(「。scroll」)。滾動({vertical:true,mousewheel:true,keyboard:true});' 添加你的代碼並重新插入'vertical:true,mousewheel:在'onBeforeSeek'之前的true,keyboard:true'似乎不起作用。 (不再滾動並拋出「$(this).getIndex不是函數」的錯誤時,點擊向下箭頭。 – Keefer 2011-04-27 14:50:39

+0

試試這樣。(見編輯)。再次im沒有專家。如果你建立該網站必須有一些想法,你在做什麼,修改我的建議shoudnt是很難的。看看文檔http://flowplayer.org/tools/scrollable/具體事件部分 – Tjirp 2011-04-27 14:56:01

+0

我也不是專家,因此我的問題這裏:) 如果我能弄清楚語法,你的解決方案和flowplayer.org網站上的文檔似乎是有意義的。 – Keefer 2011-04-27 15:45:49