The Wayback Machine - https://web.archive.org/web/20200715030136/https://github.com/ElemeFE/mint-ui/issues/1514
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug Report] mint-ui.common.js 内计算scrollTop浏览器兼容问题-chorme不兼容 #1514

Open
yyoosn opened this issue Nov 26, 2018 · 1 comment

Comments

@yyoosn
Copy link

@yyoosn yyoosn commented Nov 26, 2018

Mint UI version

2.2.13

OS/Browsers version

windows7

Vue version

2.5.17

Reproduction Link

https://mint-ui.github.io/docs/#/zh-cn2/loadmore

Steps to reproduce

loadmore组件在window层滚动 chorme有bug计算不到scrollTop
源码方法
var getScrollTop = function(element) {
if (element === window) {
return Math.max(window.pageYOffset || 0, document.documentElement.scrollTop);
}
return element.scrollTop;
};
各浏览器下 scrollTop的差异:
IE6/7/8:
可以使用 document.documentElement.scrollTop;
IE9及以上:
可以使用window.pageYOffset或者document.documentElement.scrollTop
Safari:
safari: window.pageYOffset 与document.body.scrollTop都可以;
Firefox:
火狐等等相对标准些的浏览器就省心多了,直接用window.pageYOffset 或者 document.documentElement.scrollTop ;
Chrome:
谷歌浏览器只认识document.body.scrollTop;

由于chorme只认 document.body.scrollTop 这个源码方法如果element === window滚动的话就会产生bug,获取不到真实的scrolllTop,目前只测试chorme存在这个问题

What is Expected?

建议改一下方法实现兼容
var getScrollTop = function(element) {
if (element === window) {
var docTop = Math.max(document.documentElement.scrollTop,document.body.scrollTop);
return Math.max(window.pageYOffset || 0, docTop);
}
return element.scrollTop;
};

What is actually happening?

建议改一下方法实现兼容
var getScrollTop = function(element) {
if (element === window) {
var docTop = Math.max(document.documentElement.scrollTop,document.body.scrollTop);
return Math.max(window.pageYOffset || 0, docTop);
}
return element.scrollTop;
};

@MaySnow
Copy link

@MaySnow MaySnow commented Mar 25, 2019

it works for me!! Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.