Javascript 滚动更改元素不透明度
我已经使它几乎工作,但有一个问题,如何快速不透明度的变化,也有问题,当我卷回 JSFIDLEJavascript 滚动更改元素不透明度,javascript,scroll,opacity,Javascript,Scroll,Opacity,我已经使它几乎工作,但有一个问题,如何快速不透明度的变化,也有问题,当我卷回 JSFIDLE 我确实将它设置为5000>$(“.bgimage”).animate({opacity:0.4},“5000”) 但它的速度似乎和我在500的时候一样。我做错了什么? (试过写“5000ms”和“500s”,但都是一样的) 当我向下滚动时,元素(背景图像)淡出为0.4不透明度。但当我向上滚动时,不透明度只会变为1不透明度,不会淡入或类似 在播放动画之前,您需要运行.stop(),否则您只是停止正在尝试
$(“.bgimage”).animate({opacity:0.4},“5000”)代码>
但它的速度似乎和我在500的时候一样。我做错了什么?
(试过写“5000ms”和“500s”,但都是一样的)
在播放动画之前,您需要运行
.stop()
,否则您只是停止正在尝试执行的向上滚动动画:
$(document).scroll(function () {
if ($(this).scrollTop() > 500) {
$(".bgimage").stop().animate({opacity: 0.4}, 500);
} else {
$(".bgimage").stop().animate({opacity: 1}, 500);
}
});
编辑:
要澄清我在代码中做了什么:
我删除了$(this).scrollTop()>1
,因为如果$(this).scrollTop()>500
是真的,那么另一个也已经是真的,所以最终不需要它
我用else
语句包装了您的滚动动画,因为您最初所做的是启动用户滚动的任何内容(即使它们超过500个),看起来有点混乱,您同时启动了两个函数
我还删除了
返回
,因为我发现它在您的上下文中没有任何用处。非常感谢您,伙计。