我已经让它几乎可以工作了,但是当我向上滚动时,不透明度变化的速度有问题,也有问题。
的jsfiddle http://jsfiddle.net/dp1b51fs/2/
$(".bgimage").animate({opacity: 0.4}, "5000");
但它似乎与我500时的速度相同。我做错了什么?
(尝试写过“5000ms”和“500s”,但它是一样的)答案 0 :(得分:2)
您需要在动画前运行.stop()
,否则您只是停止正在尝试的向上滚动动画:
$(document).scroll(function () {
if ($(this).scrollTop() > 500) {
$(".bgimage").stop().animate({opacity: 0.4}, 500);
} else {
$(".bgimage").stop().animate({opacity: 1}, 500);
}
});
<强> Edit:
强>
为了澄清我的代码你做了什么:
我删除了$(this).scrollTop() > 1
,因为如果$(this).scrollTop() > 500
为真,那么另一个也已经为真,所以最终不需要它。
我将你的滚动动画包裹在一个else
语句中,因为你原来做的是触发用户滚动的任何东西(即使它们超过500),它看起来有点乱,你发射了两个立即运作。
我也删除了return
因为我在你的上下文中没有看到它。