Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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/JQuery随机图像重复问题_Javascript_Jquery_Image_Do While_Rotator - Fatal编程技术网

Javascript/JQuery随机图像重复问题

Javascript/JQuery随机图像重复问题,javascript,jquery,image,do-while,rotator,Javascript,Jquery,Image,Do While,Rotator,我有一个图像库,可以从images/flip_images/文件夹中提取随机图像。这些文件的名称是一个数字,然后是.jpg,例如0.jpg、1.jpg等。有14个图像可供选择,标记为0-13。由于只有14张图片,页面一次需要4张,因此有相当多的重复,我希望避免重复。我正在使用Javascript生成随机图像文件名,并将变量传递到JQuery.flip()命令中 我尝试在下面的代码中使用do while循环来更改全局变量,将全局变量与其他变量进行比较,如果它首先选择的数字已经在使用中,则选择另一个

我有一个图像库,可以从images/flip_images/文件夹中提取随机图像。这些文件的名称是一个数字,然后是.jpg,例如0.jpg、1.jpg等。有14个图像可供选择,标记为0-13。由于只有14张图片,页面一次需要4张,因此有相当多的重复,我希望避免重复。我正在使用Javascript生成随机图像文件名,并将变量传递到JQuery.flip()命令中

我尝试在下面的代码中使用do while循环来更改全局变量,将全局变量与其他变量进行比较,如果它首先选择的数字已经在使用中,则选择另一个数字。然而,我似乎无法让它发挥作用。这是一个范围问题还是我在代码中犯了一个简单的错误?代码如下:

var randomNumber0= 0;
var randomNumber1= 1;
var randomNumber2= 2;
var randomNumber3= 3;

var refreshId0 = setInterval(function(){

    var $this = $(this);

    do {

        randomNumber0=Math.floor(Math.random()*14)

    }while(randomNumber0 == randomNumber1 || randomNumber0 == randomNumber2 || randomNumber0 == randomNumber3){

        randomNumber0=Math.floor(Math.random()*14)

    };

    $("#flipboxa").flip({       
        direction: 'lr',
        color: "transparent",
        content: '<img src="images/flip_images/'+randomNumber0+'.jpg" width="120" height="275" alt="alt tag here" />',
    });

    return false;

}, 5000);

var refreshId1 = setInterval(function(){

    var $this = $(this);

    do {

        randomNumber1=Math.floor(Math.random()*14)

    }while(randomNumber1 == randomNumber0 || randomNumber1 == randomNumber2 || randomNumber1 == randomNumber3){

        randomNumber1=Math.floor(Math.random()*14)

    };  

    $("#flipboxb").flip({       
        direction: 'rl',
        color: "transparent",
        content: '<img src="images/flip_images/'+randomNumber1+'.jpg" width="120" height="275"  alt="alt tag here" />',
    });

    return false;

}, 6000);

var refreshId2 = setInterval(function(){

    var $this = $(this);

    do {

        randomNumber2=Math.floor(Math.random()*14)

    }while(randomNumber2 == randomNumber0 || randomNumber2 == randomNumber1 || randomNumber2 == randomNumber3){

        randomNumber2=Math.floor(Math.random()*14)

    };

    $("#flipboxc").flip({       
        direction: 'lr',
        color: "transparent",
        content: '<img src="images/flip_images/'+randomNumber2+'.jpg" width="120" height="275" alt="alt tag here" />',
    });

    return false;

}, 7000);

var refreshId3 = setInterval(function(){

    var $this = $(this);

    do {

        randomNumber3=Math.floor(Math.random()*14)

    }while(randomNumber3 == randomNumber0 || randomNumber3 == randomNumber1 || randomNumber3 == randomNumber2){

        randomNumber3=Math.floor(Math.random()*14)

    };  

    $("#flipboxd").flip({       
        direction: 'rl',
        color: "transparent",
        content: '<img src="images/flip_images/'+randomNumber3+'.jpg" width="120" height="275"  alt="alt tag here" />',
    });

    return false;

}, 8000);
var randomNumber0=0;
var randomNumber1=1;
var randomNumber2=2;
var randomNumber3=3;
var refreshId0=setInterval(函数(){
var$this=$(this);
做{
randomNumber0=Math.floor(Math.random()*14)
}而(randomNumber0==randomNumber1 | | randomNumber0==randomNumber2 | | randomNumber0==randomNumber3){
randomNumber0=Math.floor(Math.random()*14)
};
$(“#flipboxa”).flip({
方向:“lr”,
颜色:“透明”,
内容:“”,
});
返回false;
}, 5000);
var refreshId1=setInterval(函数(){
var$this=$(this);
做{
randomNumber1=Math.floor(Math.random()*14)
}而(randomNumber1==randomNumber0 | | randomNumber1==randomNumber2 | | randomNumber1==randomNumber3){
randomNumber1=Math.floor(Math.random()*14)
};  
$(“#flipboxb”).flip({
方向:‘rl’,
颜色:“透明”,
内容:“”,
});
返回false;
}, 6000);
var refreshId2=setInterval(函数(){
var$this=$(this);
做{
randomNumber2=Math.floor(Math.random()*14)
}而(randomNumber2==randomNumber0 | | randomNumber2==randomNumber1 | | randomNumber2==randomNumber3){
randomNumber2=Math.floor(Math.random()*14)
};
$(“#flipboxc”).flip({
方向:“lr”,
颜色:“透明”,
内容:“”,
});
返回false;
}, 7000);
var refreshId3=setInterval(函数(){
var$this=$(this);
做{
randomNumber3=Math.floor(Math.random()*14)
}而(randomNumber3==randomNumber0 | | randomNumber3==randomNumber1 | | randomNumber3==randomNumber2){
randomNumber3=Math.floor(Math.random()*14)
};  
$(“#flipboxd”).flip({
方向:‘rl’,
颜色:“透明”,
内容:“”,
});
返回false;
}, 8000);

这不是
do..while的正确形式

do {

    //something

}while(...){

    //something else

};  
试着这样做:

do {
    //something
}
while(...);

@PhilFaceplantYoung很乐意帮忙:-D