使用scrollTop()的JQuery fadeTo()函数

时间:2013-11-01 12:46:26

标签: javascript jquery css scrolltop fadeto

我尝试在scrollTop()函数中使用fadeTo()。首先,我尝试使用fadeIn和fadeOut,这是完美的。但我想保持图像的真实高度。我将我的css中的不透明度更改为0,并希望在滚动位置介于30和200之间时显示图像。

    <script type="text/javascript">
        $(document).scroll(function () {
            if ($(this).scrollTop() > 30 && $(this).scrollTop() < 200) {
                $("#amy").fadeTo("slow", 1);
            } else {
                $("#amy").fadeTo("slow", 0);
            }
        });
    </script>

CSS:

#amy {
    padding-top: 20px;
    margin-bottom: -50px;
    max-width: 155px;

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
}

if正在使用fadeIn $ fadeOut,但不适用于fadeTo。不知道为什么?是否使用scrollTop不支持fade?

1 个答案:

答案 0 :(得分:1)

我不确定为什么fadeTo无效,但您可以尝试animate()

<script type="text/javascript">
    $(document).scroll(function () {
        if ($(this).scrollTop() > 30 && $(this).scrollTop() < 200) {
            $("#amy").animate({opacity: 1}, "slow");
            return;
        } 
        $("#amy").animate({opacity: 0}, "slow");

    });
</script>

另外,请确保元素上没有其他CSS。像visibility: hidden;或类似的东西。