Javascript JQuery scrollTop-跨浏览器兼容性问题
昨天我遇到了一个JQuery滚动脚本的问题,它在Chrome中工作,但在IE和Firefox中不工作。我昨天问了这个问题(),我把它标记为正确答案,但今天才意识到它在Chrome中已经不起作用了 有人能帮我在所有的现代浏览器上运行吗 HTMLJavascript JQuery scrollTop-跨浏览器兼容性问题,javascript,jquery,html,css,scroll,Javascript,Jquery,Html,Css,Scroll,昨天我遇到了一个JQuery滚动脚本的问题,它在Chrome中工作,但在IE和Firefox中不工作。我昨天问了这个问题(),我把它标记为正确答案,但今天才意识到它在Chrome中已经不起作用了 有人能帮我在所有的现代浏览器上运行吗 HTML scrollTop()将只返回集合中第一个匹配元素的值 $('html,body'),这就是为什么它不再适用于chrome 我认为您最好的选择是使用: var container = $(document.scrollingElement || "html
scrollTop()
将只返回集合中第一个匹配元素的值
$('html,body'),这就是为什么它不再适用于chrome
我认为您最好的选择是使用:
var container = $(document.scrollingElement || "html");
scrollTop()
将只返回集合$('html,body')
中第一个macthed元素的值,这就是为什么它在Chrometh上不再工作的原因,现在在IE和firefox中都可以使用。@leete哪个IE/FF版本?IE11和firefox 43.0.1对我都适用,我的意思是检查scrollTop()在FF/IE/chrome浏览器中是否工作。参见示例编辑:事实上,我在IE edge上测试了它,在IE10I上测试了中断,我看到了adeneo dupe链接,所以看起来var container=$(窗口)
就足够了
//get window size values (cross browser compatible)
(function(undefined) {
var container = $("html,body");
$.windowScrollTop = function(newval) {
if( newval === undefined) {
return container.scrollTop();
}
else {
return container.scrollTop(newval);
}
}
})();
//draw dotted line on scroll
$(window).scroll(function(){
if ($.windowScrollTop() > 10) {
var pos = $.windowScrollTop();
$('#dashes').css('height',pos/4);
$('#footer-dot').css('top',pos/4);
} else {
$('#dashes').css('height','6px');
$('#footer-dot').css('top','-150px');
}
});
var container = $(document.scrollingElement || "html");