2015-11-06 118 views
-1

我即時通道編輯器,我有自動滾動的問題,當第三個項目被選中時...所以當用戶點擊項目1並單擊向下按鈕三次它需要是該順序:UL LI元素自動滾動時點擊向上和向下按鈕jQuery

而當用戶點擊UP按鈕一次它需要該順序:

所以這個想法是自動滾動,如果最後一個項目在底部...我需要兩個自動滾動...一個滾動當最後一個項目在列表中的一個項目和其他滾動,類似於previus滾動,但scrool在項目的中間。

我這裏是代碼:

enter code herehttp://jsfiddle.net/vtbymc8w/

編輯:

我需要重新定義我的問題,因爲我錯了形容我需要得到:

這裏的jsfiddle例子:

enter code herehttp://jsfiddle.net/vtbymc8w/3/

我需要當用戶點擊按鈕將CH1向下移動,當它到達CH12並且按下一個按鈕時,它會滾動到位置CH13。

當用戶例如在CH15上並開始按下按鈕CH15在它到達CH13位置時向上移動並且再次按下一次按鈕它向上滾動。

這是古典的Windows滾動條上滾或下滾列表中的每個13項...我無法弄清楚如何在JavaScript或jQuery中做到這一點(我認爲在CSS是不可能的)...所以,如果有人可以給我線索或例子如何得到這個工作。

感謝

回答

0

我認爲你需要使用scrollTop。在這裏我的代碼添加:

function handle(el) { 
    $('.users-list.channels').scrollTop(el.position().top); 
} 

叫它內上/下單擊處理:

$(/*up or down*/).on('click', function(e) { 
    var $currentElement = $('.users-list.channels .selected'); 
    // move down or up... 

    handle($currentElement); 
}); 

JSFiddler:http://jsfiddle.net/vtbymc8w/1/

+0

加上'$(文件).scrollTop(el.position()。頂部);'在裏面'處理'並且在固定位置向上/向下設置按鈕 –