jQuery随机淡入图像

我有一个容器,有很多小图像。

...

我将不透明度设置为0.(不隐藏)然后我想在半秒后显示(淡入淡出)随机图像。 例如,5日,1日,55日……

任何建议,非常多

试试这个

  

使用数字模式为每个图像添加一个id,然后使用随机生成的id淡化图像,使用javascript中的math.random

 function getImage(minim,maxim) { return "img" + Math.round(Math.random()*(maxim-minim)+minim); } 

我不清楚(对我来说)你是想在半秒后开始褪色,还是在半秒后淡出。 然而, 半秒后退色。 如果你想这样做,只需忽略setTimeout()的东西

您想要做的一般概述是:
在页面加载后半秒钟调用时创建一个函数(setTimeout)
该函数应该生成一个随机数,min为0,最大值为#container元素的子数减去1
使用随机数提供的索引淡化#container的子级。

Pusdo代码(很长一段时间以来我用jQuery做过任何事情。或Javascript就此而言)

 function onDocumentReady(){ setTimeout(500, "fadeInRandom()"); } function fadeInRandom(){ var numElements = $("#container").children().length; var randomElem = Math.random() * (numElements-1); $("#container").children()[randomElem].fadeIn(); } 

如果你想要淡入所有图像,则不需要使用所有随机的东西,只需要cicle并延迟500ms到1秒之间的随机数。 无论如何你必须放入隐藏function。 或者使用不透明度使用动画css。

 $('#container img').each(function(index) { $(this).delay( Math.random()*500+500 ).fadeIn(); }); 

你不会发现比这更简单的东西,并且效果相同

我会使用生成的随机数来创建图像的’src’属性并相应地构建jQuery选择器:

 setInterval ( showRandomImage, 500 ); function showRandomImage() { var randNo = Math.floor(Math.random() * 101); $("#container > img[src=" + randNo + "'.jpg']") .animate({opacity: 0}, 500).fadeIn('slow'); }