我创建了一个效果,当屏幕上显示一行图标时运行。
动画本质上是改变padding
a 的div
,从图标中产生脉冲的效果。
它在除 Chrome 之外的所有浏览器中都能完美运行(令人惊讶!)。由于某种原因,Chrome 在动画时会摆动每个图标下的文本。我使用padding
是希望它只会影响div
(使用box-sizing: border-box
模型)中的内容。
我确实为它编写了一个在 Chrome 中工作的修复程序,但随后破坏了 Safari 中的布局。
所以我不确定我是否可以修复 Chrome 中的抖动,或者我是否可以改变我的修复来帮助 Safari。
这是当前页面的链接,没有 jQuery 修复。它在 JS 文件中,但被注释掉了。
这是运行动画的代码,修复在这里,只是注释掉了:
$('.wrapper').scroll(function(e) {
var tTop = target.offset().top;
var tTopOffset = tTop+target.height();
if( tTop < height ) {
if (flag) {
targetDiv.animate({
opacity: 1
}, 500);
targetDiv.each(function(i){
// FIX breaks on safari, but fixes issue in Chrome...
// targetDiv.css('height', targetDivHeight);
$(this).delay((i++) * 900).animate({
padding: '0em'
}, 400);
$(this).animate({
padding: '0.5em'
}, 400);
});
flag = false
}
} else {
targetDiv.css('opacity', '0');
flag = true;
}
});