javascript - 文档标题消失

标签 javascript jquery html css

所以我对在 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.scrollTopdocument.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/

相关文章:

javascript - 语义覆盖我的下拉菜单使其变大

javascript - 如何从javascript表单获取用户输入?

javascript - React 纯 Javascript 上的 Photo Sphere 查看器

javascript - 选择下一个列表组并更改数据状态

javascript - 如何获取 jQuery 选择的 drodpown 列表框的 onclick 事件?

javascript - 如果子项在垂直列表中处于事件状态,则保持导航菜单打开

javascript - Laravel Ajax 图片上传预览不起作用?

javascript - 单击以调用 javascript 函数时按钮不断消失

使用分页器添加或编辑之前的 jquery、jqgrid 验证

jquery - ajax通过jquery提交多个表单