我正在使用此代码导航到同一页面上的锚点,并具有平滑的滚动效果。它适用于除 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);
});
关于为什么以及如何解决的任何想法?