Javascript 滚动到使用数据属性的元素

Javascript 滚动到使用数据属性的元素,javascript,jquery,html,Javascript,Jquery,Html,我试图弄清楚,如果元素与ID匹配,如何让元素使用数据属性滚动到特定元素,而不是使用锚标记。这就是我的工作 一旦用户单击按钮,它将显示内容,并滚动到与数据属性匹配的特定元素。我似乎无法让它滚动 <div class="container"> <div class="post" data-id="content-one"> post one </div> <div class="post" data-id="conte

我试图弄清楚,如果元素与ID匹配,如何让元素使用数据属性滚动到特定元素,而不是使用锚标记。这就是我的工作

一旦用户单击按钮,它将显示内容,并滚动到与数据属性匹配的特定元素。我似乎无法让它滚动

<div class="container">
    <div class="post" data-id="content-one">
        post one
    </div>
    <div class="post" data-id="content-two">
        post two
    </div>
</div>
<div class="container-two">
    <div id="content-one" class="post-content" >
      content one
    </div>
    <div id="content-two" class="post-content" >
      content two
    </div>
</div>

#
连接到id以生成正确的选择器。另外,还可以使用
.offset().top
,因为它是一个返回包含元素当前位置的对象的函数。然后我们可以使用
top
键访问它

$('html, body').animate({
    scrollTop: $( '#' + data_id).offset().top
}, 'slow');

这是一个很好的答案!
$('html, body').animate({
    scrollTop: $( '#' + data_id).offset().top
}, 'slow');