javascript - 滚动到溢出滚动 div 中的事件元素

标签 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 值。我试过

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

但不知何故它不起作用。

非常感谢一些帮助。

最佳答案

您需要检查容器 #scrollscrollTop() 并将其添加回 position() 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();

关于javascript - 滚动到溢出滚动 div 中的事件元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23642135/

相关文章:

javascript - AngularJS 根据条件改变 <li> 元素标签

Jquery选择器问题

javascript - 标签 ajax 无法持续​​工作

javascript - 将值传递给 AngularJS 单击事件

javascript:将函数的输出更改为指定的小数位

javascript - 我怎样才能在不移动下面的元素的情况下注入(inject)一堆图像

javascript - 用户离开页面时如何发送ajax请求

javascript - 在 HTML 选择列表中选择选项时的 HTML 垂直居中选择

html - 由列表组成的菜单栏中元素的宽度

javascript - 密码验证正则表达式