Javascript 为背景色添加视差效果
我正在创造一个视差效果。我有图像和背景色。根据滚动,此背景色必须移到顶部,当滚动回0时,它应移到其实际位置 此时,当我滚动此颜色直接移到顶部,当滚动位置移回0时,它不会下降Javascript 为背景色添加视差效果,javascript,jquery,Javascript,Jquery,我正在创造一个视差效果。我有图像和背景色。根据滚动,此背景色必须移到顶部,当滚动回0时,它应移到其实际位置 此时,当我滚动此颜色直接移到顶部,当滚动位置移回0时,它不会下降 函数视差(){ var image=document.getElementById('image'); image.style.top=-(window.pageYOffset/0.5)+“px”; } window.addEventListener(“滚动”,视差,假) 正文{ 背景:青色; } #形象{ 背景:绿色;
函数视差(){
var image=document.getElementById('image');
image.style.top=-(window.pageYOffset/0.5)+“px”;
}
window.addEventListener(“滚动”,视差,假)
正文{
背景:青色;
}
#形象{
背景:绿色;
宽度:100px;
高度:100px;
顶部:310px;
右:-30px;
位置:绝对位置;
}
.第一{
颜色:白色;
位置:相对位置;
宽度:100px;
高度:100px;
}
hhvvvHHHvvv<
HHHvvv<
HHHHvvv<
HHHvvvvv<
HHHHvvvvv<<<<<<<
HHHvvv<
Hhhhhhvvvvv<
hhhhhhhvvvvvvvvv<<
HHhhhhhhvvvvvvv<<<<<<<<<<<<
<<<<<<<
>HHHHHHHHhhhhhhhhhhvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<<<<<<<<
<
<<<<<
>>HHHHHHHHvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
这是因为当
top
规则归零时,您没有删除它:
if (image.style.top === "0px") {
image.style.top = "";
}
这个演示会起作用,但那只是一个“绷带”。我建议改为使用初始顶部
函数视差(){
var image=document.getElementById('image');
image.style.top=-(window.pageYOffset/0.5)+“px”;
}
window.addEventListener(“滚动”,视差,假)
正文{
背景:青色;
}
#形象{
背景:绿色;
宽度:100px;
高度:100px;
排名:0;
右:-30px;
位置:绝对位置;
变换:translateY(310px);
}
.第一{
颜色:白色;
位置:相对位置;
宽度:100px;
高度:100px;
}
hhvvvHHHvvv<
HHHvvv<
HHHHvvv<
HHHvvvvv<
HHHHvvvvv<<<<<<<
HHHvvv<
Hhhhhhvvvvv<
hhhhhhhvvvvvvvvv<<
HHhhhhhhvvvvvvv<<<<<<<<<<<<
<<<<<<<
>HHHHHHHHhhhhhhhhhhvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<<<<<<<<
<
<<<<<
>>HHHHHHHHvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvvv
HHvvvvv<
HHHHvvvvv<
HHHvvvvvv<
HHHvvvvvvvvvv<<<
HHHvvvvvv<
HHHHHvvvvvvv<
HHHHHvvvvvvvvvvvvvvvv<<<<<<
HHHHHHvvvvvvvvvvvvvvvvvvv<<<<<<<<<<<<<<<<<<
HHHHHHHHHHHHvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbr>hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv
hhvvv