2013-04-14 80 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-*屬性來代替。