我試圖創建一個效果,其中頁面中某個區域內的列表中的div將變大,而不會在跨越轉換點(Chrome中的突出問題,也可能是其他瀏覽器)時閃爍。是否可以通過CSS在滾動狀態之間進行狀態轉換而不閃爍?
Here's a jsfiddle of my current situation.
我已經差不多完成我需要什麼,這要歸功於偉大的jsfiddle貢獻這裏#2 - 但是當我添加自己的規模效應,如果您滾動在過渡邊界太慢那種閃爍。這顯然是因爲縮放轉換(或正常的高度/寬度改變)一旦已經通過轉換點就導致回縮到邊界內,反之亦然。
有使這項工作有一個CSS方法的方法,或者我需要改變腳本 - 在這種情況下,(因爲我沒那麼熟悉這種數學方程)怎麼樣?
$(document).ready(function() {
$(window).on('scroll', function() {
var windowHeight = $(window).height(),
gridTop = windowHeight * .3,
gridBottom = windowHeight * .6;
$('ul li').each(function() {
var thisTop = $(this).offset().top - $(window).scrollTop();
if (thisTop > gridTop && (thisTop + $(this).height()) < gridBottom) {
// $(this).css('background', 'red');
$(this).addClass('in_zone');
} else {
//$(this).css('background', 'silver');
$(this).removeClass('in_zone');
}
});
});
$(window).trigger('scroll');
});
啊,當然!正是我在找的東西 - 感謝幫助我在盒子外面思考。 – Lenny