我在 Safari 上遇到了一个奇怪的问题(仅限 Mac OS,Windows 工作正常),我的平滑滚动没有滚动。它只是跳转到链接,但适用于所有其他浏览器,甚至在 Windows Safari 上。
我的 jQuery 是
<script type="text/javascript">
(function($){
$.extend({
smoothAnchors : function(speed, easing, redirect){
speed = speed || "slow";
easing = easing || null;
redirect = (redirect === true || redirect == null) ? true : false;
$("a").each(function(i){
var url = $(this).attr("href");
if(url){
if(url.indexOf("#") != -1 && url.indexOf("#") == 0){
var aParts = url.split("#",2);
var anchor = $("a[name='"+aParts[1]+"']");
if(anchor){
$(this).click(function(){
if($(document).height()-anchor.offset().top >= $(window).height()
|| anchor.offset().top > $(window).height()
|| $(document).width()-anchor.offset().left >= $(window).width()
|| anchor.offset().left > $(window).width()){
$('html, body').animate({
scrollTop: anchor.offset().top,
scrollLeft: anchor.offset().left
}, speed, easing, function(){
if(redirect){
window.location = url
}
});
}
return false;
});
}
}
}
});
}
});
})(jQuery);
</script>
我的 HTML 看起来像这样
<nav id="nav">
<ul id="navigation">
<li><a href="#About" class="fade"> ABOUT</a></li>
<a name="About"></a>
如果有人知道是什么问题,请告诉我!
非常感激。