昨天我遇到了一个问题,一个JQuery滚动脚本在Chrome中运行但在IE和Firefox中没有。昨天我问了这个查询(JQuery scroll() / scrollTop() not working in IE or Firefox),我将其标记为正确的答案,只是意识到它不再适用于Chrome了!
任何人都可以帮助我在所有现代浏览器上使用它吗?
HTML
<div id="dotted-line">
<div id="up-arrow">^up</div>
</div>
JQuery的
//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');
}
});
答案 0 :(得分:1)
scrollTop()
将仅返回set中第一个匹配元素的值 $('html,body'),这就是为什么它不再适用于chrome
我认为你最好的选择是使用:
var container = $(document.scrollingElement || "html");
答案 1 :(得分:0)