我的fireTop javascript代码只有firefox有问题。我已经在href链接上添加了一些锚点,并且只有在chrome / explorer上才能处理平滑滚动。在Firefox上没有。它仅在该按钮上跳转,但不会滚动到该按钮。
Firefox控制台错误:此网站似乎使用滚动链接定位效果。这可能不适用于异步平移;有关详细信息,请参阅https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects,并加入有关相关工具和功能的讨论!
我的代码:
if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {
$scrollWrapper = $(document);
scroll = function scroll(value, hash) {
$scrollWrapper.scrollTop(value);
currentHash = hash;
};
} else {
$scrollWrapper = $('html, body');
scroll = function scroll(value, hash) {
$(document).off('scroll.currentHash');
$scrollWrapper.animate({
scrollTop: value + 30
}, {
delay: 500,
complete: function () {
currentHash = hash;
}
});
};
}
答案 0 :(得分:0)
Firefox将溢出放在html级别,除非特别设计为表现不同。
要在Firefox中使用它,请使用
$('body,html').animate( ... );
工作示例 http://jsfiddle.net/4etct/ CSS解决方案是设置以下样式:
html { overflow: hidden; height: 100%; }
body { overflow: auto; height: 100%; }
我认为JS解决方案的侵入性最小。