我尝试在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? p>
答案 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;
或类似的东西。