2014-01-21 28 views
1

我用下面的代码进行自动滚动到锚流畅的效果时自动滚动到锚

 setTimeout(function(){window.location.hash = "#anchor";},5000); 

它的工作很好,但我需要补充时,滚动流畅的效果。

JSFIDDLE

+0

你好user3083292,我需要更多信息。你到底想要什么? – Partap

+0

给出你想要的确切细节。 –

回答

2

使用jQuery是对scrollTop属性设置动画的目标元素的偏移y位置的常见解决方法:

$('html,body').animate({ 
    scrollTop: $('#anchor').offset().top 
}); 

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

您也许能够如果您想保留您的代码(未经测试),请收听hashchange事件:

$(window).on('hashchange', function(e) { 
    e.preventDefault(); 
    var $target = $(window.location.hash); 
    if ($target.length) { 
     $('html,body').animate({scrollTop: $target.offset().top}); 
    } 
}); 

(编辑:这似乎是有问题的,如果的preventDefault被称为浏览器就会连跳)下面的代码

$('html, #anchor').animate({ scrollTop: 0 },'slow'); 

它是100%的工作代码

+0

请检查http://jsfiddle.net/HZejZ/ –

+0

@ user3083292我做了并更新了演示:http://jsfiddle.net/HZejZ/1/ – David

+0

感谢您的支持:) –

1

使用。如果它也适合你,那么请将它标记为答案,以便其他人也可以使用它...

+0

嘿,这个代码有什么问题.... – Partap

+0

它的工作就像一个魅力,谢谢:) –

+0

user3083292,请这样做的答案,以便其他人可以使用它从您的文章作为参考 – Partap