javascript - 滚动更改元素不透明度

标签 javascript scroll opacity

我已经让它几乎可以工作了,但是不透明度变化的速度有问题,当我向上滚动时也有问题。

Jsfiddle http://jsfiddle.net/dp1b51fs/2/

  1. 我确实将它设置为 5000 >> $(".bgimage").animate({opacity: 0.4}, "5000"); 但它似乎和我在 500 上的速度一样。我做错了什么? (试过写“5000ms”和“500s”但都是一样的)
  2. 当我向下滚动时,元素(背景图像)淡出到 0.4 不透明度。但是,当我向上滚动时,不透明度只会变为 1,并且不会淡入或类似。

最佳答案

您需要在动画之前运行 .stop(),否则您只是停止了您尝试做的向上滚动动画:

$(document).scroll(function () {
    if ($(this).scrollTop() > 500) {
      $(".bgimage").stop().animate({opacity: 0.4}, 500);
    } else {
      $(".bgimage").stop().animate({opacity: 1}, 500);
    }

});

JSFiddle


编辑: 澄清我对你的代码做了什么:

我删除了 $(this).scrollTop() > 1 因为如果 $(this).scrollTop() > 500 为真,那么另一个已经是也是如此,所以最终,没有必要。

我将向上滚动的动画包装在 else 语句中,因为您最初做的是触发用户滚动的任何内容(即使它们超过 500),它看起来有点乱,而且您一次触发两个函数。

我还删除了 return,因为我发现它在您的上下文中没有用过。

关于javascript - 滚动更改元素不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27630608/

相关文章:

javascript - 使用文件类型从缓冲区获取文件类型

javascript - 如何在nodeJS中向mysql添加map对象?

ios - 在 iOS 应用程序中拖动 UITableViewCells 时自动滚动平滑 UITableView

html - 不透明度 < 1 的元素不在第一列时不会在 chrome 中呈现

javascript - 删除或重新定义 Angular 模块

javascript - Google Apps 脚本 - 如何中断循环以防止出现错误消息

javascript - 卡住 jQuery 列表上的滚动,同时调整列表顶部的列表元素的大小

javascript - 使用 jQuery 滚动时如何为每个 anchor 设置不同的偏移量

android - 为什么我的 ImageView 元素与我的 Button 混在一起?

html - 如何仅在最后一个 child 上防止动画