Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery CSS文本效果:文本在效果出现之前在屏幕上出现一秒钟_Jquery_Css - Fatal编程技术网

Jquery CSS文本效果:文本在效果出现之前在屏幕上出现一秒钟

Jquery CSS文本效果:文本在效果出现之前在屏幕上出现一秒钟,jquery,css,Jquery,Css,可能很简单,但却把我难住了 我有一个覆盖菜单和一些导航链接里面。我想做的是一个简单的“向上滑动”文本效果,其中文本似乎从基线向上“向上”。这是一种常见的效果,我用线高和超简单的动画实现了它 jQuery:基本上,这个想法是当有人点击菜单图标时,文本会随着向上滑动而出现 问题:效果“有效”,但是,当我打开菜单时,文本实际上会在效果开始前的一瞬间出现。 HTML: JQUERY: $(document).ready(function() { $('button').click(function

可能很简单,但却把我难住了

我有一个覆盖菜单和一些导航链接里面。我想做的是一个简单的“向上滑动”文本效果,其中文本似乎从基线向上“向上”。这是一种常见的效果,我用线高和超简单的动画实现了它

jQuery:基本上,这个想法是当有人点击菜单图标时,文本会随着向上滑动而出现

问题:效果“有效”,但是,当我打开菜单时,文本实际上会在效果开始前的一瞬间出现。

HTML:

JQUERY:

$(document).ready(function() {

  $('button').click(function () {

      //make overlay appear
      $('li span').addClass('reveal');  //adds the animation to the text
  });

});
这将向你展示我想要的效果和问题。注意:代码是超级破坏,我只是需要帮助的效果本身

我理解为什么会这样:我告诉浏览器在文本出现在屏幕上后100%翻译文本,而不是先隐藏它。如何隐藏文本直到动画开始


我试过的都没用。我只希望文本在滑入视图之前不可见。我做错了什么?

您可以使用
动画填充模式:forwards
来保持动画的结束状态。然后转换起始状态:

span{
    transform: translate(0, 100%);
}

.reveal { 
  display: block;
  animation: reveal 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0.5s forwards;
}

要以0%的初始动画开始,您需要将相同的设置初始地添加到span:li span{transform:translate(0,100%);}

我猜,要以0%的初始动画开始,您需要将相同的设置初始地添加到span:li span{transform:translate(0,100%);}@liquidcrome,它可以工作!我花了一个小时把可见性:hidden,不透明性:0,hide()应用到我能找到的任何元素上,答案就在我眼皮底下。如果你把这个作为回答转告我,我就赏金给你:)你的建议是正确的;然而,另一张海报添加了一个关键细节(正向填充模式),彻底解决了这个问题。无论如何,谢谢你的帮助!
$(document).ready(function() {

  $('button').click(function () {

      //make overlay appear
      $('li span').addClass('reveal');  //adds the animation to the text
  });

});
span{
    transform: translate(0, 100%);
}

.reveal { 
  display: block;
  animation: reveal 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0.5s forwards;
}