Javascript 如何在Microsoft Edge上的可滚动HTML元素内返回scroll事件的scrollTop值
因此,我有以下关于HTML和BODY元素的CSSJavascript 如何在Microsoft Edge上的可滚动HTML元素内返回scroll事件的scrollTop值,javascript,jquery,html,scrolltop,microsoft-edge,Javascript,Jquery,Html,Scrolltop,Microsoft Edge,因此,我有以下关于HTML和BODY元素的CSS html{ overflow: hidden; height: 100%; } body{ overflow: auto; height: 100%; } 保持这个CSS以避免固定位置的元素在IE9和更高版本上抖动是很重要的 基本上,元素是一个可滚动的元素,window.scrollTop()返回0,无论我在页面上滚动到哪里,所以我只为ie/edge浏览器客户端实现了这个JS $('body').scr
html{
overflow: hidden;
height: 100%;
}
body{
overflow: auto;
height: 100%;
}
保持这个CSS以避免固定位置的元素在IE9和更高版本上抖动是很重要的
基本上,元素是一个可滚动的元素,window.scrollTop()返回0,无论我在页面上滚动到哪里,所以我只为ie/edge浏览器客户端实现了这个JS
$('body').scroll(function(){
var wrapHeight = element_to_stick_to_header.outerHeight();
//The following condition is never true because $('body').scrollTop()
// always returns 0 on ME
if($('body').scrollTop() + headerHeight > orginalOffset && window.innerWidth > 768){
// do something
}
else {
// do something else
}
});
此功能在ie9及以上版本上运行良好,但在Microsoft Edge上则无法实现
到目前为止,我已经尝试了以下方法来解决这个问题,但以下方法似乎都不起作用:
var top = (document.documentElement && document.documentElement.scrollTop) ||
document.body.scrollTop;
发件人:
从
及
从
document.documentElement.scrollTop
var scrollTop = $(document).scrollTop();