所以我对在 HTML 中使用 javascript 和 jquery 非常陌生,所以这可能是一个非常基本的问题,但我真的很挣扎。
我有一个带有标题的 HTML 文档,我希望当您开始向下滚动时该标题逐渐消失。我当前的代码看起来有点像这样:
document.getElementById("myTitle").style.opacity = (75-document.scrollTop)/75;
我知道代码的第一部分可以工作,因为我已经为其设置了“0.5”和“0.75”等数值,并且它工作正常,但是一旦我添加了我的简陋公式,它就停止工作了。
有什么想法吗?谢谢!
最佳答案
问题:
document.scrollTop
将返回undefined
,如 scrollTop
是一个元素属性。
document
不是一个元素,而是一个可以访问它们的接口(interface)。
(文档元素将为 document.documentElement
,但这在本例中不起作用,因为它引用 <html>
元素。此元素不会滚动,因此其 scrollTop
值永远不会改变。)
解决方案:
实际滚动的元素是 <body>
,因此您应该在计算中引用它。
尝试替换document.scrollTop
与 document.body.scrollTop
如下面的工作示例所示。
document.addEventListener("scroll", function() {
document.getElementById("myTitle").style.opacity = (75 - document.body.scrollTop) / 75;
});
body {
height: 1000px;
}
#myTitle {
padding: 100px;
background-color: red;
color: white;
}
<div id="myTitle">
THIS SHOULD FADE OUT
</div>
关于javascript - 文档标题消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45381584/