我正在使用此代码导航到同一页面上的锚点,并具有平滑的滚动效果。除Safari 6外,它适用于所有浏览器。
我已经完成了一些测试,这适用于Safari 5/6,Chrome和Firefox,删除了动画卷轴:
$(document).on('click','.navigation a', function(event){
event.preventDefault();
var $target = $( $(this).attr('href') );
var position = $target.data('position');
$('html, body').scrollTop( position * scrollHeight );
});
但是使用动画滚动,它在Safari 6中停止工作:
$(document).on('click','.navigation a', function(event){
event.preventDefault();
var $target = $( $(this).attr('href') );
var position = $target.data('position');
$('html, body').animate({'scrollTop': position * scrollHeight}, 3000);
});
关于为什么以及如何修复的任何想法?