我在我的着陆页中使用animate.css和waypoints.js。我想在用户滚动页面时对元素进行动画处理。但是,问题是在动画开始之前我需要隐藏元素(如果我不隐藏,animate.css会先隐藏元素,然后再进行动画处理,这看起来非常难看)。
然而,我通过在我的CSS中添加两个类来解决问题,但这又创建了另一个问题。
.visible{ opacity: 1; }
.invisible {opacity: 0; }
// I added following jquery code
$('elem').removeClass('invisible').addClass('visible fadeInUp');
这个方法很好,但是当我给元素添加animation-delay
后就不能正常工作了。这里是我想要实现的效果。我的元素是这样的:
<ul>
<li>element1</li>
<li>element2</li>
<li>element3</li>
</ul>
我希望对每个元素添加动画延迟,以便它们使用animation-delay
属性在指定的时间后一起fadeInUp
。但我无法让它起作用。我尝试了以下代码,但没有成功。
$('elem').each(function() {
// code with delay using timeout
setTimeout(function(){
$(this).removeClass('invisible').addClass('...');
}, 100);
});
如果我的方法完全错误,请告诉我?如果是的话,那么您能提供更好的完成方式吗?