用jquery向下滚动15%后改变div颜色

时间:2013-04-05 07:37:49

标签: jquery css html colors scroll

我在下面有这个jquery代码,它会生成一个div滚动。但是当我从顶部下降15%时,我也希望它将div颜色改为#32200F。当它从顶部低于15%时返回到原来的barckground。

<script type="text/javascript">
        $().ready(function() {
                var $scrollingDiv = $("#navbar");

                $(window).scroll(function(){            
                        $scrollingDiv
                                .stop()
                                .animate({"marginTop": ($(window).scrollTop() + 0) + "px"}, "slow" );
                });
        });
</script>

这是我原始背景的CSS代码。我可以使它成为一个让它更容易的类:

#navbar {
     /* Fallback for web browsers that don't support RGBa */
     background-color: rgb(0, 0, 0);
     background-color: rgba(50,32,15,0.5);     
     /* For IE 5.5 - 7*/
     filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c32200F, endColorstr=#4f32200F);
     /* For IE 8*/
     -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c32200F, endColorstr=#4f32200F)";
}

2 个答案:

答案 0 :(得分:2)

尝试:

$(document).ready(function () {
   var $scrollingDiv = $("#navbar");

   $(window).scroll(function () {
       $scrollingDiv.stop()
           .animate({
           "marginTop": ($(window).scrollTop() + 0) + "px"
       }, "slow");
       $scrollingDiv.css("background-color", (($(window).scrollTop() / $(document).height()) > 0.15) ? "orange" : "");
     });
});

Demo

答案 1 :(得分:0)

<script type="text/javascript">
    $().ready(function() {
            var $scrollingDiv = $("#navbar");

            $(window).scroll(function(){            
                    $scrollingDiv
                            .stop()
                            .animate({"marginTop": ($(window).scrollTop() + 0)+ "px"},"slow");
                           $(".yourdiv").css('background-color', 'blue');
            });
    });