javascript - 如果网站已滚动,则显示 Logo

标签 javascript css

我有一个带有 Logo 的标题。只有在滚动网站时才会显示此 Logo 。

我在 javascript 中试过这个:

if(document.getElementById("div").scrollTop != 0){
  document.write("<img src='logo.jpg'>");
}

但这没有用。

如何实现?

最佳答案

使用 window.addEventListener('scroll', callback) 然后将值 "block" 设置为 img 的属性。

window.addEventListener('scroll', function(e) {
  if (document.getElementsByTagName("html")[0].scrollTop > 5) {
    document.getElementsByClassName('imgHeader')[0].style.display = "block";
  } else {
    document.getElementsByClassName('imgHeader')[0].style.display = "none";
  }
});
.imgHeader {
  height: 100px;
  width: 100px;
  display: none;
}

div {
  height: 1000px;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
}
<header><img class="imgHeader" src="https://material.angular.io/assets/img/examples/shiba1.jpg" /></header>
<div></div>

关于javascript - 如果网站已滚动,则显示 Logo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51082792/

相关文章:

javascript - 数组内的对象

javascript - 如果使用 CSS3 翻译/转换来更改元素位置,则不会触发 Mouseenter/Mouseover 事件

css - 如何在 Xamarin 中使用 CSS 设置自定义字体系列

ASP.NET 4.0 菜单控件 - 为什么呈现的 <div> 元素不像普通 block 元素那样工作并填满其父元素的宽度?

html - 有什么理由不能使用 CSS 在 html 表格中的 <tr> 周围放置边框

javascript - 如何使用 Jest/React 测试 Router.push

javascript - 从哪里开始:JavaScript,NodeJS-加上Universe

css - 使用 bootstrap gem 时包含特定的 Bootstrap less 文件

php - html/php 页面右侧不需要的空白

php - 通过 jquery ajax 在 php 中接收数据