0

我设置了代码,所以当您单击图片开关时,会弹出一个菜单。(我还没有完成菜单)。但是当我点击图片时,它并没有改变。你能告诉我如何修复我的代码吗谢谢。我无法让 jsfiddle 工作,所以这是我的网站http://spencedesign.netau.net/singaporehomemenu.html

令人不安的代码是:

function showMore() {
    if (more.style.display != "none") {
        more.style.display = "none";
    }
    else {
        more.style.display = "block";
    }
}

imgs = Array("more.png", "less.png");
var x = 0;

function change() {
    document.getElementById("bob").src = imgs[++x];

    if (x == 1) {
        x = -1;
    }
}
if (!imgs[x + 1]) {
    x = -1;
}

JSFiddle

(是的,我有所有适当的 body 和 html 标签,我只是认为不需要证明我的问题)感谢您的宝贵时间!

4

2 回答 2

1

您的问题是您没有名为 bob 的 ID。因此,当您尝试调用时:

document.getElementById("bob") ...

这是空的。

您需要将要更改的图像设置为具有名为 bob 的 id(为什么您将其称为 bob?)

于 2012-11-15T01:30:07.600 回答
0

正如李所说,你错过了给 img 一个 ID。此外,您提前关闭了 change() 函数,因此它永远不会到达第二个 if。

function change() {
    document.getElementById("bob").src = imgs[++x];

    if (x == 1) {
        x = -1;
    }
//} Moved from here
if (!imgs[x + 1]) {
    x = -1;
}
}

在这里工作:编辑 jsfiddle

于 2012-11-15T01:58:54.023 回答