【发布时间】:2016-06-13 23:07:25
【问题描述】:
我正在尝试创建一种效果,使页面特定区域内的列表中的 div 变大,而不会在越过过渡点时闪烁(Chrome 中的突出问题,也许其他浏览器也是如此)。
Here's a jsfiddle of my current situation.
感谢 jsfiddle 在 Stackoverflow 上的出色贡献,我已经基本完成了我的工作 - 但是当我添加自己的缩放效果时,如果您在过渡边框上滚动太慢,它会有点闪烁。这显然是因为缩放转换(或正常的高度/宽度变化)一旦通过转换点就会导致边框内部收缩,反之亦然。
有没有一种方法可以使用 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');
});
【问题讨论】:
标签: javascript jquery css css-transitions