Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.7k views
in Technique[技术] by (71.8m points)

在第一屏才是透明。往下拉就不透明。请问怎么设置呢?

网址:http://www.clevermama.com.cn/

请问这个首页导航栏是透明的。其他页面不透明。
首页那个透明。也不是一直透明。而是在第一屏才是透明。往下拉就不透明。请问怎么设置呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

这个是监听滚动事件,设置一个分界值,比如100。 scrollTop小于100,则不设置背景色或者背景色设置为透明,大于则背景色设置为白色。很多网页有这样的处理。

比如当前思否问答页面,你可以打开控制台执行以下语句:

window.addEventListener('scroll', event => {
  const head = document.querySelector('#sf-header') // 思否页头
  head.classList.remove('bg-white') // 移除原有背景色class
  if (document.scrollingElement.scrollTop > 100) {
    head.style.background = '#fff' // 白色
  } else {
    head.style.background = 'transparent' // 透明
  }
})

然后滚动页面看看,就能看到页头背景在透明和白色之间切换效果了。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...