我可以在两个变量(例如var path = css/image/
和var urlpath = /pic/funny/
)中设置图像文件夹路径和网址路径,并将它们分别附加到每个图像和网址之前,以便我不必重复修补var picData
中的每张图片?
Array.prototype.shuffle = function() {
var s = [];
while (this.length) s.push(this.splice(Math.random() * this.length, 1));
while (s.length) this.push(s.pop());
return this;
}
var picData = [
['img1','url_1'],
['img2','url_2'],
['img3','url_3'],
['img4','url_4'],
['img5','url_5'],
['img6','url_6'],
['img7','url_7']];
picO = new Array();
randIndex = new Array(); //array of random indexes
for(i=0; i < picData.length; i++){
picO[i] = new Image();
picO[i].src = picData[i][0];
picO[i].alt = picData[i][1];
randIndex.push(i);
}
randIndex.shuffle();
window.onload=function(){
var mainImgs = document.getElementById('carouselh').getElementsByTagName('img');
for(i=0; i < mainImgs.length; i++){
mainImgs[i].src = picO[randIndex[i]].src; //assign a random image
mainImgs[i].parentNode.href = picData[randIndex[i]][1];
mainImgs[i].alt = picData[randIndex[i]][1];
}
}
我尝试了类似mainImgs[i].src = path.picO[randIndex[i]].src;
的内容,但我无法正确使用语法。
答案 0 :(得分:5)
使用+
组合变量,而不是.
var a = "Some";
var b = "day";
var c = " we are gone.";
alert(a + " " + b + c);
或者就像你的例子那样:
mainImgs[i].src = path + picO[randIndex[i]].src;
您还需要引用变量:
var urlpath = "/pic/funny/";