【问题标题】:how to fadein LI elements randomly? (jquery)如何随机淡入LI元素? (jQuery)
【发布时间】:2011-03-03 10:11:40
【问题描述】:

您好,我有一组带有悬停效果的<li>,我想要的是当页面加载所有<li> 元素时随机淡入。

我不想打乱它们……它们应该保持顺序不变,意思是 1、2、3、4、5。我只是想让它们随机出现在页面上并留在那里。

测试页面:
http://humayunrehman.com/hovertest/

【问题讨论】:

  • 你说的随机是指时间应该是随机的吗?如“1-5 秒后,第一个元素来,1-5 秒后第二个元素来”?
  • 它们在页面上的外观应该是随机的...这是我希望合并的效果:boedesign.com/demos/jsquares 例如:Li order(保持不变):li-1 li-2 li- 3 li-4 li-5 .... 随机出现:3rd 1st 4th 2nd 5th 每次页面加载它们都会随机出现

标签: javascript jquery random fadein


【解决方案1】:

你可以这样做:

var v = $("#blocks > li").css('visibility', 'hidden'), cur = 0;
for(var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j] = x);
function fadeInNextLI() {
  v.eq(cur++).css('visibility','visible').hide().fadeIn();
  if(cur != v.length) setTimeout(fadeInNextLI, 50);
}
fadeInNextLI();

You can view a demo with your html/images here。感谢 Jordan Boesch 的排序算法,与jsquares 中使用的算法相同。

这会将它们全部隐藏,随机抓取下一个:hidden,将其淡入,50 毫秒后开始下一个,创建一个随机淡入效果。只需根据需要调整时间,如果需要,也可以将时间传递给.fadeIn()。这也会在完成后停止排队效果。

【讨论】:

  • 但它会一一显示但不是随机显示这是我希望合并的效果:boedesign.com/demos/jsquares
  • @user366123 - 抱歉,我直到现在才知道,但希望这就是你现在所追求的 :)
  • 这太好了,谁能告诉我如何随机淡出它们?然后回来等等?
  • 这太好了,谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-08-05
  • 1970-01-01
  • 2010-11-03
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多