改变标题在滚动条上的位置
Changing position of title on scroll
我正试图从中得到:
对此
同时向下滚动大约一半的图片。滚动菜单后 header 将不可见。有人对如何实现这一点有任何想法吗?
有一些方法可以做到这一点,因为你没有共享任何代码,所以很难解释更好的东西,你可以在滚动所在的背景上收听变化,并根据该数字更新位置你的标题,我给你一个简单的例子,你可以自己测试看看我的意思
如果有什么不明白的可以随时提问,或者讨论
HTML
<div id="box">
<div id="box-to-force-scroll">
<div id="title"> title </div>
</div>
</div>
CSS
#box {
width:100px;
height:100px;
background-color:blue;
overflow:auto;
}
#box-to-force-scroll {
width:100px;
height:1000px;
}
#title {
font-size:20px;
position:absolute;
top:10px;
left:10px;
color:white;
text-transform:uppercase;
}
JS
document.getElementById('box').addEventListener('scroll', function(el) {
// random math just to show it moving
let scrollTop = el.target.scrollTop
let newVal = 10 + ( parseInt(scrollTop, 10) / 3)
document.getElementById('title').style.top = `${newVal}px`
})
我正试图从中得到:
对此
同时向下滚动大约一半的图片。滚动菜单后 header 将不可见。有人对如何实现这一点有任何想法吗?
有一些方法可以做到这一点,因为你没有共享任何代码,所以很难解释更好的东西,你可以在滚动所在的背景上收听变化,并根据该数字更新位置你的标题,我给你一个简单的例子,你可以自己测试看看我的意思
如果有什么不明白的可以随时提问,或者讨论
HTML
<div id="box">
<div id="box-to-force-scroll">
<div id="title"> title </div>
</div>
</div>
CSS
#box {
width:100px;
height:100px;
background-color:blue;
overflow:auto;
}
#box-to-force-scroll {
width:100px;
height:1000px;
}
#title {
font-size:20px;
position:absolute;
top:10px;
left:10px;
color:white;
text-transform:uppercase;
}
JS
document.getElementById('box').addEventListener('scroll', function(el) {
// random math just to show it moving
let scrollTop = el.target.scrollTop
let newVal = 10 + ( parseInt(scrollTop, 10) / 3)
document.getElementById('title').style.top = `${newVal}px`
})