cle*_*ruz 2 html javascript jquery
我试图弄清楚如果元素匹配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>
Run Code Online (Sandbox Code Playgroud)
$(".container .post").on('click', function() {
var data_id = $(this).data('id');
$('.post-content').each(function() {
var el = $(this);
if (el.attr('id') == data_id)
el.show();
else
el.hide();
});
$('html, body').animate({
scrollTop: $(data_id).offset.top()
}, 'slow');
});
Run Code Online (Sandbox Code Playgroud)
将a连接#到id以生成适当的选择器.使用.offset().top因为offset()是一个返回包含元素当前位置的对象的函数.然后我们可以使用top密钥访问它.
$('html, body').animate({
scrollTop: $( '#' + data_id).offset().top
}, 'slow');
Run Code Online (Sandbox Code Playgroud)