Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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 从填充的数组更改img src_Javascript_Arrays_Gallery_Shuffle - Fatal编程技术网

Javascript 从填充的数组更改img src

Javascript 从填充的数组更改img src,javascript,arrays,gallery,shuffle,Javascript,Arrays,Gallery,Shuffle,我创建了一个脚本,用0-118之间的数字填充一个数组,并使用一个函数将其洗牌 e、 g: var Arr = new Array (); for (var i = 0; i < 119; i++) { Arr[i] = i; } function shuffle(o){ for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x)

我创建了一个脚本,用0-118之间的数字填充一个数组,并使用一个函数将其洗牌

e、 g:

var Arr = new Array ();

for (var i = 0; i < 119; i++) {
    Arr[i] = i;
}

function shuffle(o){ 
    for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
    return o;
};

newArray = shuffle(Arr);
var-Arr=newarray();
对于(变量i=0;i<119;i++){
Arr[i]=i;
}
函数shuffle(o){
对于(var j,x,i=o.length;i;j=Math.floor(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
返回o;
};
newArray=shuffle(Arr);
我有一个有24个拇指的图库,分别命名为0.jpg、1.jpg等118.jpg。我需要从数组中为每个拇指调用一个数字

php中的等效项为:

<?php $arr = array_rand(range(1, 117), 24);?>
<img src="images/<?php echo $arr[0].'.jpg'; ?>" />

" />

这可以用Javascript实现吗?我应该如何实现?用thumb的名字创建数组是不现实的。

我成功地做到了这一点(同事的帮助):

var-array=[];//为图像创建数组
对于(变量i=0;i<90;i++){
数组[i]=i;
}
var new_array=shuffle(数组);//shuffled数组
对于(var i=1;i-1){//避免重复图像的条件
random_image=Math.floor(Math.random()*array.length)+0;
}
$('#'+随机位置).fadeOut(300,函数(){//更改图像
$('#'+random_position).attr('src','images/banner/'+random_image+'.jpg');
$(“#”+随机位置).fadeIn(300);
});
新建数组[随机位置-1]=随机图像;//注册更改
返回false;
}, 5000);
函数shuffle(o){//shuffle函数
对于(var j,x,i=o.length;i;j=Math.floor(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
返回o;};

你可以给这些图片上一节课,然后

$(".imageClass").each(function(i) {
 this.src="/images/"+newArray[i]+".jpg";
});

@mplungjan OP已经有了一个shuffle方法,这不是他们所要求的,而是向每个方法添加.jpg对每个方法来说都不是很难forEach或map或Reduce。在将attr添加到类之前,这个脚本可以洗牌数组吗?这样做,可能是重复的?我不太明白你的评论。我也没有看shuffle。这里是一个替代方案:
$(".imageClass").each(function(i) {
 this.src="/images/"+newArray[i]+".jpg";
});