Javascript 滚动效果不';不要在铬上工作

Javascript 滚动效果不';不要在铬上工作,javascript,html,google-chrome,scroll,Javascript,Html,Google Chrome,Scroll,我有一个滚动效果,通过找到用户在页面上的位置并使用它设置颜色来改变背景的颜色。这在safari和Atom Html预览器中运行良好,但当我在chrome上检查它时,它不起作用。 我的网站是 关于它为什么不工作或者如何修复它,有什么建议吗?我试着稍微修改JS,但没有效果 下面是我正在使用的JavaScript: function scroll(){ var body = document.body, html = document.documentElement; var

我有一个滚动效果,通过找到用户在页面上的位置并使用它设置颜色来改变背景的颜色。这在safari和Atom Html预览器中运行良好,但当我在chrome上检查它时,它不起作用。 我的网站是

关于它为什么不工作或者如何修复它,有什么建议吗?我试着稍微修改JS,但没有效果

下面是我正在使用的JavaScript:

function scroll(){
    var body = document.body,
    html = document.documentElement;
    var height = html.scrollHeight - html.clientHeight;
    var color = Math.round((body.scrollTop / height) * 255);
    body.style.backgroundColor = "rgb("+color+","+color+","+color+")";
}
编辑:我尝试使用
var color=Math.round((html.scrollTop/height)*255)但是,当我在Safari中对其进行本地测试时,它现在不起作用。

您可以检查跨浏览器获取当前滚动位置的方法:

var doc = document.documentElement;
var top = (window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0);
函数滚动(){
var body=document.body;
var doc=document.documentElement;
var top=(window.pageYOffset | | doc.scrollTop)-(doc.clientTop | 0);
var height=doc.scrollHeight-doc.clientHeight;
变量颜色=数学圆((顶部/高度)*255);
body.style.backgroundColor=“rgb(“+color+”,“+color+”,“+color+”);
}
window.addEventListener(“滚动”,滚动)
正文{
高度:1400px;

}
看起来问题在于当你滚动时,
document.body.scrollTop
0
。这是chrome当前的行为:刚刚尝试了你的建议,现在它在Safari中不起作用,但在chrome中起作用。还有其他建议吗?谢谢anyway@HarryDay你现在能查一下吗?