2013-11-25 86 views
1

有一列圖像,每個圖像在彼此之下。我在該專欄的右側也有一個div,它有幾個註釋(基本上是段落)。當您單擊每個圖像時,會出現一組新的筆記。理想情況下,當您向下滾動頁面並單擊每個圖像時,我希望右側的div向下滾動並與每個單擊的圖像匹配。我寫了一個函數,但我只能讓整個頁面滾動到頂部,但我需要的是相反的。我使用scrollTop:這是導致我認爲的問題,但沒有scrollTo函數?這是我的代碼。如何讓另一個div滾動到我的當前div點擊

HTML

<div id='main'> 
...content... 
</div> 

<div id='rightnav'> 
...content... 
</div> 

jQuery的

$('html, #rightnav').animate({ 
    scrollTop: $($current_image).offset().top 
}, 2000); 

回答

1

您需要申請.animate()只是爲了導航DIV本身。動畫只是「頂級」風格。 例如這樣的代碼:

$('#main img').click(function() { 

    $('#rightnav').animate({top: $(this).offset().top}, 2000) 

}) 

將帶來具有ID =「rightnav」 DIV至相同的頂部座標的「主」 DIV的內部作爲圖像點擊。

演示:http://jsfiddle.net/vSfP9/1/

+0

Yurly謝謝你的回答。我不得不在今天晚些時候對它進行測試,但從你的演示中看來,它正是我所期待的。一旦我嘗試了,我會選擇正確的答案,再次感謝。 – London804

+0

嘿我試圖實現這個代碼,但沒有發生。我也沒有控制檯錯誤,我已經把一個console.log,它肯定是射擊,所以我不知道是什麼問題。我通常會說它與邏輯有關,但你的小提琴證明它的工作原理。有什麼建議麼? – London804

+0

確保您的jQuery選擇器正確選擇(標識,類,元素)。很可能jQuery沒有找到需要的項目。如果問題仍然存在 - 您可以發佈(可能縮寫)有問題的真實HTML標記嗎? –