javascript - 颜色向下滚动时如何更改背景颜色?

标签 javascript jquery css html

我有一张有很多颜色的图片。它在页面中向下滚动。如果图像颜色自动停在页面中央,则缩略图图像颜色应该改变。缩略图图像颜色是用 css 编写的。如何完成这个任务?

enter image description here

最佳答案

这是我的解决方案:http://jsfiddle.net/2kc44/more complete .

我首先声明一个包含positions/colors 的数组。
您可以简单地使用:

var colors = {
      0: "#FFFFFF",
    300: "#FF0000",
    600: "#00FF00",
    900: "#0000FF"
}

或有更多参数:

var colors = {
      0: {c: "#FFFFFF", t: "White" },
    300: {c: "#FF0000", t: "Red"   },
    600: {c: "#00FF00", t: "Green" },
    900: {c: "#0000FF", t: "Blue"  }
}

这个函数:

$(window).scroll( changeBG );

function changeBG(e){
    var pos = $(window).scrollTop();
    for (var c in colors)
        if(pos >= c) $("body").css( { backgroundColor: colors[c] } );
}

它很干净,而且很容易添加更多颜色,但还可以进一步优化。

关于javascript - 颜色向下滚动时如何更改背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884713/

相关文章:

javascript - 加载图像没有出现在我的主页中央

jquery - 在 div 中居中 img - 两者都被调整大小

javascript - @keydown.ctrl 和 @keyup.ctrl 事件修饰符不响应各自的键盘事件 vujs

javascript - 如何仅在 HTML 表单验证成功时执行一组 JavaScript 代码

javascript - 如何将字段值合并到组中?

jquery - 如何使用 jquery 和 CSS3 KeyFrames 将元素(例如 div 或图像)围绕点或鼠标圈出?

javascript - knockout JS : Can't get foreach to work

JQuery 远程验证传递额外参数?

javascript - 当子元素的不透明度发生变化时,mac 上的边距会出现奇怪的行为

android - 元素在移动设备上的大小调整不均