如何使用 Javascript 在网站上获得 Sticky header?
How to get a Sticky header on website using Javascript?
尝试使用 javascript 将粘性 header 添加到我的网站上,但似乎没有用。
这里是html代码和javascript与这部分相关的代码:
<header>
<a href="#" class="logo">Food<span>.</span></a>
<ul class="navigation">
<li><a href="#banner">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#menu">Menu</a></li>
<li><a href="#expert">Expert</a></li>
<li><a href="#testimonials">Testimonials</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</header>
<script type="text/javascript">
window.addEventListener('scroll', function () {
const header = document.querySelector('header');
header.classList.toggle("sticky", window.scrollY > 0);
});
</script>
这里是与置顶header相关的CSS:
header .sticky {
background: #fff;
padding: 10px 100px;
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}
header .sticky .logo {
color: #111;
}
header .sticky .navigation li a {
color: #111;
}
请帮忙!
第 1 步。使用 header.sticky
代替 header .sticky
(删除 space)
第2步.将以下样式添加到header.sticky
position: -webkit-sticky; /* Safari */
position: sticky;
top: 0;
尝试使用 javascript 将粘性 header 添加到我的网站上,但似乎没有用。
这里是html代码和javascript与这部分相关的代码:
<header>
<a href="#" class="logo">Food<span>.</span></a>
<ul class="navigation">
<li><a href="#banner">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#menu">Menu</a></li>
<li><a href="#expert">Expert</a></li>
<li><a href="#testimonials">Testimonials</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</header>
<script type="text/javascript">
window.addEventListener('scroll', function () {
const header = document.querySelector('header');
header.classList.toggle("sticky", window.scrollY > 0);
});
</script>
这里是与置顶header相关的CSS:
header .sticky {
background: #fff;
padding: 10px 100px;
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}
header .sticky .logo {
color: #111;
}
header .sticky .navigation li a {
color: #111;
}
请帮忙!
第 1 步。使用 header.sticky
代替 header .sticky
(删除 space)
第2步.将以下样式添加到header.sticky
position: -webkit-sticky; /* Safari */
position: sticky;
top: 0;