如何在加载时隐藏动画元素?

埃贾兹卡里姆

在着陆页中将animate.csswaypoints.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>

我想向每个元素添加动画延迟,以便它们fadeInUp在每个元素中使用animation-delay属性以指定的秒数彼此相邻我无法使它正常工作。我尝试了以下代码,但未使用动画延迟,但未成功。

$('elem').each(function() {
  // code with delay using timeout
  setTimeout(function(){
   $(this).removeClass('invisible').addClass('...');
  }, 100);
});

让我知道我的方法是否完全错误?如果是,那么您可以提供更好的方法来完成。

用户名

您只能使用CSS做到这一点。

假设您正在尝试制作标题动画。给你的元素的类这个CSS:

.title { visibility: hidden; }

并给动画类(来自animate.css)这个CSS:

.animated { visibility: visible !important; }

当它到达航路点视图时,它将添加.animated每个animate.css的代码,然后在动画中可见。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章