jquery - js : change style based in scroll position

标签 jquery css styles

我有这段代码来更改元素的背景颜色(效果很好)

<script>
window.onscroll = function() {
    if(document.body.scrollTop == 0) {
       jQuery("header#main-header").css('background-color', 'red');
    }
}
</script>

问题是仅当页面滚动在 0 到 100 之间时我需要将颜色设置为红色,如果大于 100,则将颜色设置为黄色。

我在这个页面尝试过这个:http://temporal-1.d246.dinaserver.com/但不工作:

<script>
window.onscroll = function() {
    if(document.body.scrollTop <= 99) {
       jQuery("header#main-header").css('background-color', 'red');
    }
    if(document.body.scrollTop >= 100) {
       jQuery("header#main-header").css('background-color', 'yellow');
    }
}
</script>

最佳答案

那么你需要稍微不同地计算top偏移量

window.onscroll = function() {
    var doc = document.documentElement;
    var top = (window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0);
    if(top <= 99) {
       jQuery("header#main-header").css('background-color', 'red');
    }
    else {
       jQuery("header#main-header").css('background-color', 'yellow');
    }
} 

关于jquery - js : change style based in scroll position,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48785568/

相关文章:

javascript - 全局曝光 | jQuery 与 Backbone

单击另一个 div 时,jquery 更改 div 的类和内联样式

html - 无法在移动 View 中显示内容

html - 将路径宽度更改为 svg 容器的 100%

wpf - 在命名样式之间切换

c# - 将自定义依赖属性绑定(bind)到自定义 WPF 样式

jquery - Django django-autocomplete-light 搜索不完整

javascript - 将变量替换到 Jquery 中

javascript - 为什么在用作选择器的类或 ID 已从 HTML 中删除后仍会调用 jQuery 函数?

html - li 元素在 2 列列表中的位置