0
vol7ron告訴我如何實現其中元素消失在向下滾動的效果,並在向上滾動淡出這裏:Why does "($(this).css('opacity')==.3)" not work?修復延遲jQuery的褪色
的jsfiddle:http://jsfiddle.net/b7qnrsrz/16/
$(window).on("load", function() {
function fade() {
$('.fade').each(function() {
/* Check the location of each desired element */
var objectBottom = $(this).offset().top + $(this).outerHeight();
var windowBottom = $(window).scrollTop() + $(window).innerHeight();
/* If the object is completely visible in the window, fade it in */
if (objectBottom < windowBottom) { //object comes into view (scrolling down)
if ($(this).css('opacity') != 1) {
$(this).stop(true,false).fadeTo(500, 1);
}
} else { //object goes out of view (scrolling up)
if ($(this).css('opacity') == 1) {
$(this).stop(true,false).fadeTo(500, .3);
}
}
});
}
fade(); //Fade in completely visible elements during page-load
$(window).scroll(function() {
fade();
}); //Fade in elements during scroll
});
這作品幾乎完美。就這樣,這些盒子等着褪色,直到我停止滾動。所以如果我順利地滾過其中的三個,而不是在我滾過每一個時逐一淡出,他們都會等待淡入,直到我停止滾動。我該如何糾正這種情況,即使在滾動時觸發淡入淡出,而不是等到停止後纔會觸發?
非常感謝!我最終從if語句中刪除了'.stop()',但是將其留給了else,並且它給了我期望的結果。 [的jsfiddle](http://jsfiddle.net/b7qnrsrz/20/) – minimographite 2014-11-04 03:40:28