.fadeTo并没有慢慢消失

时间:2016-01-09 22:57:52

标签: javascript jquery html css

我一直试图在div上添加.fadeTo,最后让它工作

我有这个:

<section class= "hue innerS1" id="hue" >
    <p class="huep innerS1">BRILLIANT-HUED</p>

    <script>
        $(window).scroll(function () {
            $('[class^="hue"]').each(function () {
                if (($(this).offset().top - $(window).scrollTop()) < 150) {
                    $(this).stop().fadeTo('slow', 1);
                } else {
                    $(this).stop().fadeTo('slow', 0);
                }
            });
        });
    </script>

</section>

但是当我滚动到div时,它会以毫秒为单位显示,而不是设置为它。当我向上滚动回过div .fadeTo然后工作。

我看不出什么错,因为两行代码都是一样的,所以它应该有效,不是吗?

修改

以下是jsFiddle

但是正如你可以看到它在这上面工作我可能需要更新我正在使用的jquery。

虽然表现得有点滑稽

1 个答案:

答案 0 :(得分:2)

解决方案可能是使用数字而不是单词。

所以,而不是单词slow使用任何数字(数字越大,花费的时间越多 - 这里就是800,但数字可能根据需要而不同)。它将允许您准确设置它将执行多长时间。

$(window).scroll(function () {
        $('[class^="hue"]').each(function () {
            if (($(this).offset().top - $(window).scrollTop()) < 150) {
                $(this).stop().fadeTo(800, 1);
            } else {
                $(this).stop().fadeTo(800, 0);
            }
        });
    });