当前位置:  开发笔记 > 前端 > 正文

淡入每个元素 - 一个接一个

如何解决《淡入每个元素-一个接一个》经验,为你挑选了3个好方法。

我正在尝试找到一种方法来加载JSON页面来显示我目前拥有的内容.但我试图逐个淡出每个元素?是否有人熟悉这种方法?

稍微延迟淡入每个元素?

这是我的代码示例,我使用的是jquery框架.

代码:http://pastie.org/343896



1> Aaron..:

假设你有一个span元素数组:

$("span").each(function(index) {
    $(this).delay(400*index).fadeIn(300);
});

(快速说明:我认为你需要jQuery 1.4或更高版本才能使用.delay方法)

这基本上会等待一段时间并淡化每个元素.这是有效的,因为你将等待时间乘以元素的索引.在迭代数组时,延迟看起来像这样:

延迟400*0(没有延迟,只有fadeIn,这是我们想要的第一个元素)

延迟400*1

延迟400*2

延迟400*3

这使得"一个接一个"很好的淡入淡出效果.它也可以与slideDown一起使用.希望这可以帮助!


绝对优于嵌套回调
谢谢!即使在一年半之后,这也非常有帮助.
优越的答案.应该是被接受的.

2> Genericrich..:

好吧,你可以设置你的淡入淡出功能来触发"下一个".

 $("div#foo").fadeIn("fast",function(){
      $("div#bar").fadeIn("fast", function(){
           // etc.
      });
   });

但是计时器可能是一个更好的系统,或者是一个能够全部获取它们的函数,将它们放入一个数组中,然后一次一个地将它们弹出一个延迟,一次一个地将它们淡化.



3> halfpastfour..:

这个怎么样?

jQuery.fn.fadeDelay = function() {
 delay = 0;
 return this.each(function() {
  $(this).delay(delay).fadeIn(350);
  delay += 50;
 });
};

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有