2013-10-04 143 views
0

我對jQuery相當陌生,無法獲得以下代碼。我想要將div內某個段落的滾動動畫設置爲頂部,但不知何故動畫無法運行。如何將動畫滾動到div內段落的頂部?

請找到該提琴代碼:

http://jsfiddle.net/SgNpP/9/

$(document).ready(function(){ 
$('#div1').scroll(function() {  
    var par1toTop = $('#par1').position().top; 
    if ($('#div1').scrollTop() >= par1toTop) { 
    var par5toTop = $('#par5').position().top; 
     if ($('#div2').scrollTop() != par5toTop && par5toTop != 0) { 
      //why can't I animate the scrolling here? 
      $('#div2').animate({scrollTop(par5toTop)}, 800); 
     } 
    } 
}); 
}); 

回答

0
$('#aID').get(0).scrollIntoView(); 

這是代碼我現在有,它的作品...但鏈接的錨對象,而不是一個div。試試吧:)

您可以用特定的ID或空錨標記設置你的第一個元素...然後選擇它,並使用scrollIntoView


或者你有其他兩個選項。

1)動畫scrollintoview()jQuery插件。

2)

function Scroll_To(elem, pos) 
{ 
    var y = elem.scrollTop; 
    y += (pos - y) * 0.3; 
    if (Math.abs(y-pos) < 2) 
    { 
     elem.scrollTop = pos; 
     return; 
    } 
    elem.scrollTop = y; 
    setTimeout(Scroll_To, 40, elem, pos); 
} 

這兩種選擇可以在這個帖子中找到:scrollintoview animation