0

我正在使用下面的代码在一段时间后自动滚动到一个 id。

setTimeout( function() {
   $('html, body').animate({
     'scrollTop': $('#about').offset().top
   }, 2000);
}, 3000);

然而,我已经看到了很多不同的方法来完成这个简单的任务。

问最好的方法是什么可能太客观了,但我需要知道我是否对这段代码做错了。在当前版本的 Chrome、FF 和 IE 中似乎可以正常工作

提前致谢!

4

1 回答 1

2

对于动画,您应该使用延迟,并且不需要在单个字符串对象键周围使用引号:

   $('html, body').delay(3000).animate({
     scrollTop: $('#about').offset().top
   }, 2000);

.delay() 方法最适合在排队的 jQuery 效果之间进行延迟。因为它是有限的——例如,它不提供取消延迟的方法——.delay() 不能替代 JavaScript 的原生 setTimeout 函数,这可能更适合某些用例。

要回答你的问题,不,你没有做错什么。

于 2013-06-26T22:57:20.307 回答