0

我对 jQuery 很陌生,我无法让下面的代码工作。我想为 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);
        }
    }
});
}); 
4

1 回答 1

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 动画

于 2013-10-04T15:13:13.233 回答