在滚动上更改div的背景颜色

用户名

http://jsfiddle.net/ncuydr9y/

BG颜色应在开始时为#1A1A1A,然后在滚动210像素后更改。不知道我要去哪里错了。

$(document).ready(function(){       
        var scroll_pos = 0;
        $(document).scroll(function() { 
            scroll_pos = $(this).scrollTop();
            if(scroll_pos > 210) {
                $("#left-panel").css('background-color', '#1A1A1A');
            } else {
                $("#left-panel").css('background-color', 'red');
            }
        });
    });
马克西米利安·劳梅斯特

您需要将滚动事件绑定到divwith id="left-panel",因为这是上面带有滚动条的元素(即带有overflow: auto和大于子元素的子元素的元素)。

绑定documentwindow将不起作用,因为在这种情况下,它们不是滚动条的元素。

工作现场演示:

$(document).ready(function () {
    var scroll_pos = 0;
    $("#left-panel").scroll(function () {
        scroll_pos = $(this).scrollTop();
        if (scroll_pos > 210) {
            $("#left-panel").css('background-color', '#1A1A1A');
        } else {
            $("#left-panel").css('background-color', 'red');
        }
        console.log(scroll_pos);
    });
});
#left-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 80%;
    height: 100%;
    z-index: 2;
    overflow:auto;
    height:2000px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="left-panel">
    <div style="height:5000px;">CONTENT</div>
</div>

JSFiddle版本:http//jsfiddle.net/ncuydr9y/1/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章