Javascript DIV中的长UL列表,自动滚动到LI元素

Javascript DIV中的长UL列表,自动滚动到LI元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个奇怪的问题,我有一个div _inputHelper // it has fixed height ( 200px ) 其中有非常非常长的列表(大约200个元素),我想使用jQuery滚动到列表上的一些,但问题是,当我以这种方式滚动整个列表时: $( _inputHelper.find('ul') ).animate( { top : -1 * ( $(_this).position().top - $(_this).height() ) } , 200); 在适当的位置向下滚动,但

我有一个奇怪的问题,我有一个div

_inputHelper // it has fixed height ( 200px )
其中有非常非常长的
列表(大约200个元素),我想使用jQuery滚动到列表上的一些
  • ,但问题是,当我以这种方式滚动整个列表时:

    $( _inputHelper.find('ul') ).animate( { top : -1 * ( $(_this).position().top - $(_this).height() ) } , 200);
    
    在适当的位置向下滚动,但我无法使用鼠标滚动列表,更准确地说,这里是一个打印屏幕:

    我想我可能滚动的方式不对,但我也尝试过滚动顶部/页边空白顶部,但仍然不起作用

    一些测试:


    有什么帮助吗?

    根据您的小提琴,您需要使用
    scrollTop
    ,请尝试以下操作:

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



    在您的代码中,您只是将
    ul
    元素移出父视图;现在,您正在更改父元素的滚动。

    我似乎记得几年前有过一次这个问题(将内部元素滚动到某个点,而不是将视口滚动到某个元素),我想我用找到的jQuery插件解决了这个问题。让它变得简单


    使用
    scrollTop
    而不是
    top
    。。。你能分享标记或者在JSFIDDLUps上做个例子吗,对不起,拼写错误,我指的是scrollTop,而不是scrollTo:)我会尝试做一些jsfiddle在这里:)好的,所以我必须滚动div本身,而不是ul列表:)谢谢,感谢今天的大量编码;-)
    $('.input-helper').animate({
        scrollTop : $("#test").position().top,
    }, 200);