2013-04-14 50 views
0

在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> 

回答

1

可以使用offset方法。

var top = $('div[compid="' + compid + '"]').offset().top; 
$('html, body').animate({scrollTop: top}, 500); 

http://jsfiddle.net/aNBMG/

请注意compidusedspec是无效的属性,你可以使用HTML5 data-*属性来代替。