Javascript 从填充的数组更改img src
我创建了一个脚本,用0-118之间的数字填充一个数组,并使用一个函数将其洗牌 e、 g: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)
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";
});