Javascript 添加指向阵列中图像的链接

Javascript 添加指向阵列中图像的链接,javascript,arrays,image,url,hyperlink,Javascript,Arrays,Image,Url,Hyperlink,我试图在我的JS数组中添加图像链接,这样,当单击时,它们会将您指向一个信息页面 我尝试使用下面的代码,但图像无法显示 var WorkArray = new Array(['work/01.png',"http://www.stackoverflow.com"], ['work/02.png',"http://www.stackoverflow.com"], ['work/03.png',"htt

我试图在我的JS数组中添加图像链接,这样,当单击时,它们会将您指向一个信息页面

我尝试使用下面的代码,但图像无法显示

var WorkArray = new Array(['work/01.png',"http://www.stackoverflow.com"],
                         ['work/02.png',"http://www.stackoverflow.com"],
                         ['work/03.png',"http://www.stackoverflow.com"],
                         ['work/04.png',"http://www.stackoverflow.com"]);
如果我删除了链接,图像就会显示出来

我正在使用此代码的变体:

这是我的全部代码:

var width = 400;
var height = 400;
var swoosh = 4;
var stopafter=0; //set time in seconds before image disappears. Use 0 for never

var maxswoosh = 50;
var xMax;
var yMax;
var xPos = 0;
var yPos = 0;
var xDir = 'right';
var yDir = 'down';
var screenSavouring = true;
var tempswoosh;
var newXDir;
var newYDir;

function setupShit() {
    if (document.all) {
        xMax = document.body.clientWidth
        yMax = document.body.clientHeight
        document.all("work").style.visibility = "visible";
        }
    else if (document.layers||document.getElementById) {
        xMax = window.innerWidth-0;
        yMax = window.innerHeight;
        if (document.getElementById)
        document.getElementById("work").style.visibility="visible"
        else
        document.layers["work"].visibility = "show";
    }
    setTimeout('moveIt()',500);
    }


function moveIt() {
if (screenSavouring == true) {
calculatePosition();
if (document.all) {
document.all("work").style.left = xPos + document.body.scrollLeft;
document.all("work").style.top = yPos + document.body.scrollTop;
}
else if (document.layers) {
document.layers["work"].left = xPos + pageXOffset;
document.layers["work"].top = yPos + pageYOffset;
}
else if (document.getElementById) {
document.getElementById("work").style.left = xPos + pageXOffset;
document.getElementById("work").style.top = yPos + pageYOffset;
}
doit=setTimeout('moveIt()',30);
}
}

function calculatePosition() {
    if (xDir == "right") {
        if (xPos > (xMax - width - swoosh)) { 
        xDir = "left";
        cC();
        }
    }
    else if (xDir == "left") {
        if (xPos < (0 + swoosh)) {
        xDir = "right";
        cC();
        }
    }
    if (yDir == "down") {
        if (yPos > (yMax - height - swoosh)) {
        yDir = "up";
        cC();
        }
    }
    else if (yDir == "up") {
        if (yPos < (0 + swoosh)) {
        yDir = "down";
        cC();
        }
    }
    if (xDir == "right") {
        xPos = xPos + swoosh;
        }
    else if (xDir == "left") {
        xPos = xPos - swoosh;
        }
    else {
        xPos = xPos;
        }
    if (yDir == "down") {
        yPos = yPos + swoosh;
        }
    else if (yDir == "up") {
        yPos = yPos - swoosh;
        }
    else {
        yPos = yPos;
        }
    }

if (document.all||document.layers||document.getElementById){
window.onload = setupShit;
window.onresize = new Function("window.location.reload()");
}

var WorkArray = new Array(['work/01.png',"http://www.stackoverflow.com", "Your text goes here"],
                             ['work/02.png',"http://www.stackoverflow.com", "Your text goes here"],
                             ['work/03.png',"http://www.stackoverflow.com", "Your text goes here"],
                             ['work/04.png',"http://www.stackoverflow.com", "Your text goes here"]);


var nelements = WorkArray.length;

preload_image_object = new Image();
    var i = 0;
    for(i=0; i<=nelements; i++)  {
    preload_image_object.src = WorkArray[i];
    }

var currentImage = 0

function cC() {
    currentImage = (currentImage + 1) % WorkArray.length;
    document.getElementById("work").style.backgroundImage="url('"+WorkArray[currentImage]+"')";
}
var宽度=400;
var高度=400;
var swoosh=4;
var stopafter=0//以秒为单位设置图像消失前的时间。使用0表示从不
var maxswoosh=50;
var-xMax;
var yMax;
var-xPos=0;
var-yPos=0;
var xDir='右';
var yDir=‘向下’;
var=true;
var tempswoosh;
var-newXDir;
var newYDir;
函数setupShit(){
如果(全部文件){
xMax=document.body.clientWidth
yMax=document.body.clientHeight
document.all(“工作”).style.visibility=“可见”;
}
else if(document.layers | | document.getElementById){
xMax=window.innerWidth-0;
yMax=窗内高度;
if(document.getElementById)
document.getElementById(“工作”).style.visibility=“可见”
其他的
document.layers[“work”].visibility=“show”;
}
setTimeout('moveIt()',500);
}
函数moveIt(){
如果(screenSavouring==true){
计算位置();
如果(全部文件){
document.all(“work”).style.left=xPos+document.body.scrollLeft;
document.all(“work”).style.top=yPos+document.body.scrollTop;
}
else if(document.layers){
document.layers[“work”]。left=xPos+pageXOffset;
document.layers[“work”]。top=yPos+pageYOffset;
}
else if(document.getElementById){
document.getElementById(“work”).style.left=xPos+pageXOffset;
document.getElementById(“work”).style.top=yPos+pageYOffset;
}
doit=setTimeout('moveIt()',30);
}
}
函数计算位置(){
如果(xDir==“右”){
如果(xPos>(xMax-width-swoosh)){
xDir=“左”;
cC();
}
}
else if(xDir==“左”){
如果(XPO<(0+swoosh)){
xDir=“右”;
cC();
}
}
如果(yDir==“向下”){
如果(yPos>(yMax-高度-swoosh)){
yDir=“向上”;
cC();
}
}
否则如果(yDir==“向上”){
如果(YPO<(0+swoosh)){
yDir=“向下”;
cC();
}
}
如果(xDir==“右”){
xPos=xPos+swoosh;
}
else if(xDir==“左”){
xPos=xPos-swoosh;
}
否则{
xPos=xPos;
}
如果(yDir==“向下”){
yPos=yPos+swoosh;
}
否则如果(yDir==“向上”){
yPos=yPos-swoosh;
}
否则{
yPos=yPos;
}
}
if(document.all | | document.layers | | | document.getElementById){
window.onload=setupShit;
window.onresize=新函数(“window.location.reload()”;
}
var WorkArray=新数组(['work/01.png',”http://www.stackoverflow.com“,“您的文字显示在此处”],
['work/02.png',”http://www.stackoverflow.com“,“您的文字显示在此处”],
['work/03.png',”http://www.stackoverflow.com“,“您的文字显示在此处”],
['work/04.png',”http://www.stackoverflow.com“,”您的文字在此处“]);
var neelements=WorkArray.length;
预加载图像对象=新图像();
var i=0;

对于(i=0;i尝试将for循环替换为以下内容

for(i=0; i<nelements; i++)  {
preload_image_object.src = WorkArray[i][0];
}

这是一个嵌套数组。使用
.src=WorkArray[i][0]
@abhitalks你不是说“嵌套数组”吗?谢谢@DarkAshelin。更正。@abhitalks,你为什么不把它作为一个答案发布?@Victor:不值得。也许只是op的一个类型。他一定错过了。你改变了我的iYep了吗。我真的只是JS的一个傻瓜,所以可能还缺少另一个部分……试试我在上面的答案中添加的cC()函数……没有成功……当我添加[0]在WorkArray[currentImage]之后,图像再次消失。如果您想查看它的运行情况,请看我们的网站:我已经使用了另一个解决方案。我无法为图像提供单独的链接,因此我使用jquery进行了变通。当我使用您提供的代码时,图像不会显示。
function cC() {
    var nelements = WorkArray.length;
    var rdmnum = Math.floor(Math.random() * nelements);
    var currentImage = rdmnum++;
    if (currentImage == nelements) {
        rdmnum = Math.floor(Math.random() * nelements);
    }
    currentImage = (currentImage + 1) % WorkArray.length;
    document.getElementById("work").style.backgroundImage = "url('" + WorkArray[currentImage][0] + "')";
}