簡體   English   中英

DIV中的長UL列表,自動滾動到LI元素

[英]Long UL list in DIV, auto scroll to LI element

我有這么奇怪的問題,我有一個div

_inputHelper // it has fixed height ( 200px )

包含非常非常長的<ul>列表(大約200個元素),我想使用jQuery滾動到列表中的某些<li> ,但問題是,當我以這樣的方式滾動整個列表時:

$( _inputHelper.find('ul') ).animate( { top : -1 * ( $(_this).position().top - $(_this).height() ) } , 200);
 _this is a LI element I would like to scroll to 

在適當的位置向下滾動,但我無法使用鼠標滾動列表,這里是一個更精確的打印屏幕:

在div自動滾動問題中的長UL

我想我可能會以錯誤的方式滾動,但我也嘗試過scrollTop / margin-top,它仍然無效。

一些測試: http//jsfiddle.net/uk5xqfry/3/

有幫助嗎?

基於你的小提琴你需要使用scrollTop ,試試這個:

$('.input-helper').animate({
    scrollTop : $("#test").position().top,
}, 200);

檢查演示小提琴


在您的代碼中,您只是移動ul元素,然后超出父視圖; 現在,您正在更改父級的滾動。

我好像記得曾經有過這個問題,多年前(將內部元素滾動到某一點,而不是將視口滾動到一個元素),我想我用一個jQuery插件解決了它。 簡單。

https://github.com/flesler/jquery.scrollTo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM