我有一个简单的脚本,可以在两个锚点之间上下滑动页面:
$(document).ready(function() {
$('a.switch').each(function() {
var self = this;
if(self.hash) {
$(self).click(function() {
$('html, body').stop().animate({
scrollTop: $(self.hash).offset().top
}, 2000);
});
}
});
});
但是,打开页面后第一次调用这个函数,没有动画,只是瞬间跳转到第二个锚点。然后它恢复正常运行。
谁能解释发生了什么以及如何解决它?