向上/向下滚动jquery

时间:2013-03-10 09:01:12

标签: jquery scroll

我想向下滚动到我页面中的div,然后向上滚动一下。

使用jquery。

我得到了这个onclick bind:

{
 $.scrollTo( $('#theDestDiv'), 1000);
 window.scrollTo(0, (window.pageYOffset)-100 );
}

问题是:window.scroll在页面完成滚动到theDestDiv之前触发 然后pageYOffset获取错误的值。

我尝试了setTimeout,只有超时是向下滚动的时间才有效。

任何想法如何解决?

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用jquery的动画完整回调函数?您可以在动画完成后运行代码。以下是一个例子。

var scrollTo = $('#theDestDiv').offset(); //find the target
$('html, body').animate({scrollTop:scrollTo}, 1000, function(){
    //on animation complete, scroll back up
    var scrollUp = scrollTo.top-100;
    $('html, body').animate({scrollTop:scrollUp}, 1000);
});

如果你试图给它一种'反弹',我会建议使用jquery.easing插件。您想要使用的缓动是easeOutBack,以便动画通过其最终位置并缓慢返回。 http://gsgd.co.uk/sandbox/jquery/easing/

答案 1 :(得分:1)

$.scrollTo( $('#theDisclaimer'), 1000);
scroll_up_disclaimer();

function scroll_up_disclaimer(){
    $("html, body").animate({scrollTop:"-=68"})
}