scrollTop到溢出滚动div中的活动元素

时间:2014-05-13 21:45:22

标签: javascript jquery html

我有一个关于.scrollTop的具体问题。我有一个div,其中包含一个特定的height和许多p标记:

<div id="scroll">
   <p>name1</p>
   <p>name2</p>
   <!-- till name50 -->
</div>

根据您点击的名称,它会获得一个班级.active。我当时想要做的是滚动div,使名称位于顶部。所以我得到的是我可以在这样的动画函数中使用scrollTop:

$('#scroll').animate({scrollTop: value });

但是如何获得var value。我用

试了一下
var value = $('#scroll p').hasClass('active').position().top;

但不知怎的,它不起作用。

非常感谢一些帮助。

1 个答案:

答案 0 :(得分:5)

您需要检查scrollTop()容器#scroll并将其添加回位置()arg。

var $scroll = $('#scroll');

$('p').click(function(e){
    var $this = $(this);
    $scroll.animate({
        "scrollTop": $this.position().top + $scroll.scrollTop()
    }, 1000);
});

http://jsfiddle.net/yCEap/1/

获得价值:

var value = $('#scroll').scrollTop();