更改 Div 滚动显示元素
Change Div display element on scroll
大家好,我在一个项目中有一个 div,它有 display=none
,直到它到达某个滚动位置然后它变为 display=block
。
这很有效而且很棒,但变化的突然性不太好。我想找到一种方法让它轻松查看,比如 50px。
我希望使用的div具有这种结构
<div class=section id=anchoredCtaWeb>
<div class=container>
<h1>Hello World</h1>
</div>
</div>
这是我目前应用的样式和JS
<style>
#anchoredCtaWeb {
display: none;
position: sticky;
top: 0px;
}
</style>
<script>
document.addEventListener("scroll", function() {
if (window.pageYOffset > 817)
document.getElementById('anchoredCtaWeb').style.display = "block";
if (window.pageYOffset < 817)
document.getElementById('anchoredCtaWeb').style.display = "none";
});
</script>
我知道它的行为方式正是我所写的,但我未能成功将高度从 0px 过渡到全高。
非常感谢任何反馈,谢谢!
您可以在滚动条上向 #anchoredCtaWeb
添加 class
。
document.addEventListener("scroll", function() {
const anchoredCtaWeb = document.getElementById("anchoredCtaWeb");
if (window.pageYOffset > 817) {
anchoredCtaWeb.classList.add("show");
}
if (window.pageYOffset < 817) {
anchoredCtaWeb.classList.remove("show");
}
});
body {
height: 600vh;
}
#anchoredCtaWeb {
position: sticky;
transform: translateY(50px);
opacity: 0;
visibility: hidden;
top: 10px;
}
#anchoredCtaWeb.show {
transform: translateY(0px);
opacity: 1;
visibility: visible;
transition: 0.5s ease-in-out;
}
<div class="section" id="anchoredCtaWeb">
<div class="container">
<h1>Hello World</h1>
</div>
</div>
在 Codepen 上查看它的运行情况:https://codepen.io/manaskhandelwal1/pen/yLVOMPE
大家好,我在一个项目中有一个 div,它有 display=none
,直到它到达某个滚动位置然后它变为 display=block
。
这很有效而且很棒,但变化的突然性不太好。我想找到一种方法让它轻松查看,比如 50px。
我希望使用的div具有这种结构
<div class=section id=anchoredCtaWeb>
<div class=container>
<h1>Hello World</h1>
</div>
</div>
这是我目前应用的样式和JS
<style>
#anchoredCtaWeb {
display: none;
position: sticky;
top: 0px;
}
</style>
<script>
document.addEventListener("scroll", function() {
if (window.pageYOffset > 817)
document.getElementById('anchoredCtaWeb').style.display = "block";
if (window.pageYOffset < 817)
document.getElementById('anchoredCtaWeb').style.display = "none";
});
</script>
我知道它的行为方式正是我所写的,但我未能成功将高度从 0px 过渡到全高。
非常感谢任何反馈,谢谢!
您可以在滚动条上向 #anchoredCtaWeb
添加 class
。
document.addEventListener("scroll", function() {
const anchoredCtaWeb = document.getElementById("anchoredCtaWeb");
if (window.pageYOffset > 817) {
anchoredCtaWeb.classList.add("show");
}
if (window.pageYOffset < 817) {
anchoredCtaWeb.classList.remove("show");
}
});
body {
height: 600vh;
}
#anchoredCtaWeb {
position: sticky;
transform: translateY(50px);
opacity: 0;
visibility: hidden;
top: 10px;
}
#anchoredCtaWeb.show {
transform: translateY(0px);
opacity: 1;
visibility: visible;
transition: 0.5s ease-in-out;
}
<div class="section" id="anchoredCtaWeb">
<div class="container">
<h1>Hello World</h1>
</div>
</div>
在 Codepen 上查看它的运行情况:https://codepen.io/manaskhandelwal1/pen/yLVOMPE