2012-12-06 31 views
0

我想知道如何使一個股利滾動到另一個股利的錨點。錨的stucture看起來是這樣的:按鈕在一個div使其他股利滾動錨

<a id="organisational_change"></a> 

jQuery的我已經是:

$(document).ready(function(){ 
var consultancyLinks=["organisational_change","organisational_development","executive_coaching","executive_team_development","corp_social_responsibility"]; 
$("#sidemenu_consultancy #sidemenu_consultancy_btn").each(function(){ 
$(this).css('cursor', 'pointer'); 
}); 
    $("#sidemenu_consultancy #sidemenu_consultancy_btn").click(function(){ 
     $('html, body, #content_text').animate({scrollTop: $("#"+consultancyLinks[$(this).index()])},800); 
     }); 

});

任何想法?

+0

http://api.jquery.com/position和http://api.jquery.com/scrollTop – Blazemonger

回答

0

嗯,你能做到這一點不需要任何JavaScript都:

<a id="organisational_change" href="#id_of_other_element"></a> 

否則,如果你想要一個動畫,做這樣的事情:

$('a').click(function(e) { 
    e.preventDefault(); 

    $('html, body').animate({scrollTop: $($(this).attr('href')).offset().top}, 800); 
}); 
+0

我想你想.position()而不是.offset() – Blazemonger

+0

取決於你滾動的是哪個元素,如果你滾動身體,那麼你需要相對於文檔的偏移量,而不是元素的父對象。 –

0

試試下面的代碼

<div id="btn"> 
<button id="btn1"/> 
</div> 

<div id="ancr"> 
<a id="organisational_change"></a> 
</div> 

$(document).ready(function(){ 
$("#btn1").click(function(){ 
    $('body').animate({scrollTop:$("#organisational_change").scrollTop},800); 
    }); 

});

+0

感謝球員......好吧我結束了寫這個: $( 「#sidemenu_consultancy #sidemenu_consultancy_btn」)每個(函數(){ \t \t $(本)的.css( '光標', '指針'); \t \t $(this).html(「"+consultancyNames[$(this).index()]+"」); \t}); 動畫代碼似乎並不工作: $( 「#sidemenu_consultancy #sidemenu_consultancy_btn」)點擊(函數(){ \t \t \t $( 'HTML,身體,#content_text')動畫({scrollTop的。: $(「#」+ consultancyLinks [$(this).index()])},800); \t \t \t \t \t}); 屏幕似乎是'試圖'做到這一點......它有點顫抖了一分鐘,但沒有。 – Adam

+0

嗨亞當如果這有助於解決您的查詢標記爲答案 –