在特定动作下滚动到div内的div
问题描述:
在JavaScript/jQuery中调用时是否可以自动滚动到特定的div?在特定动作下滚动到div内的div
我可以使用$('div[compid="' + compid + '"]')
来获得正确的div,但我需要强制div与该特定的compid滚动到屏幕上。
$(document).delegate(".heading",'click',function(){
$(this).next().slideToggle('slow');
});
<div id="listings">
<div class="heading" compid="80" usedspec="33"><div class="content">content in here</div></div>
<div class="heading" compid="81" usedspec="34"><div class="content">content in here</div></div>
<div class="heading" compid="82" usedspec="35"><div class="content">content in here</div></div>
<div class="heading" compid="83" usedspec="36"><div class="content">content in here</div></div>
<div class="heading" compid="84" usedspec="37"><div class="content">content in here</div></div>
</div>
答
可以使用offset
方法。
var top = $('div[compid="' + compid + '"]').offset().top;
$('html, body').animate({scrollTop: top}, 500);
请注意compid
和usedspec
是无效的属性,你可以使用HTML5 data-*
属性来代替。