Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript setInterval只运行一次_Javascript_Jquery_Random_Fadein_Setinterval - Fatal编程技术网

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
,而不是将同一行代码复制两次?