我一直试图在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。
虽然表现得有点滑稽答案 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);
}
});
});