2014-10-10 87 views
3

我有這樣一個奇怪的問題,我有一個div龍UL列表格,自動滾動到LI元素

_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 

在不好的地方就是向下滾動,但使用鼠標我不能滾動列表,這裏是一個PRINTSCREEN更精確:

long UL in div auto scroll problem

我想我可能在錯誤的方式滾動,但我已經試過也scrollTop/margin-top並且它仍然不起作用。

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

任何幫助嗎?

+2

使用'scrollTop',而不是'top' ......你能分享標記或作出的jsfiddle – DaniP 2014-10-10 13:02:29

+0

起坐,對不起拼寫錯誤的例子中,我平均scrollTop的,不是scrollTo :)我會盡力做一些jsfiddle – kuba 2014-10-10 13:05:11

+0

http://jsfiddle.net/uk5xqfry/3/在這裏你去:) – kuba 2014-10-10 13:11:54

回答

5

根據你的小提琴,你需要使用scrollTop,試試這個:

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

檢查Demo Fiddle


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

+0

好的,所以我必須滾動div本身,而不是ul列表:)謝謝,今天的編碼很多;-) – kuba 2014-10-10 13:19:08