Javascript setInterval只运行一次
我在Javascript setInterval只运行一次,javascript,jquery,random,fadein,setinterval,Javascript,Jquery,Random,Fadein,Setinterval,我在#imacon中有很多图像,我希望所有图像都随机显示,但只显示一个图像。我该怎么做 $(document).ready(function() { var leng = $('#imacon').children().length; var rm = Math.floor(Math.random()*leng); setInterval(function() { $('#imacon img:eq('+rm+')').fadeIn(); },
#imacon
中有很多图像,我希望所有图像都随机显示,但只显示一个图像。我该怎么做
$(document).ready(function() {
var leng = $('#imacon').children().length;
var rm = Math.floor(Math.random()*leng);
setInterval(function() {
$('#imacon img:eq('+rm+')').fadeIn();
}, 500)
});
您需要在更改每个图像之后(或之前)更改随机数
$(document).ready(function() {
var leng = $('#imacon').children().length;
setInterval(
function() {
var rm = Math.floor(Math.random()*leng);
$('#imacon img:eq('+rm+')').fadeIn();
},
500);
});
setInterval
每隔500ms
运行一次,但是每次都在同一图像中淡入淡出。您需要在setInterval
函数中获取一个随机数。试试这个:
var leng = $('#imacon').children().length;
setInterval(function() {
var rm = Math.floor(Math.random() * leng);
$('#imacon img:eq(' + rm + ')').fadeIn();
}, 500)
您希望如何显示已显示的图像?在淡入随机图像之前,必须
.hide()
所有图像
$(document).ready(function() {
var leng = $('#imacon').children().length;
setInterval(
function() {
var rm = Math.floor(Math.random()*leng);
$('#imacon img').hide();
$('#imacon img:eq('+rm+')').fadeIn();
},
500);
});
为什么不在使用前只计算一次
rm
,而不是将同一行代码复制两次?