我在一个表中有3列,每列的顶部都有一些文本,下方有一个图像。我拥有它,以便当有人单击3列之一中的图像时,它会放大该列,并使用onClick事件删除其他列。但是,我想要它,以便当我再次单击图像时,它又带回其他列。我遇到的问题是弄清楚如何使onClick事件在第二次单击时有所不同。我添加了两张(质量很差)的图片,以帮助您实现一个想法。谢谢你的时间。

http://i.minus.com/ijFBpWavY386c.jpg

http://i.minus.com/iNExaX8dsN5dK.jpg

哦,我目前的javascript部分代码(狗,万圣节和喜剧是每个图像的ID。请原谅我糟糕的(不存在的)缩进;仍在学习javascript的类(class)中):

function dog()
{
td12 = document.getElementById('td2');
td12.parentNode.removeChild(td12);

td13 = document.getElementById('td3');
td13.parentNode.removeChild(td13);

td11 = document.getElementById('td1');
td11.style.textAlign = "center";
}
function halloween()
{
td21 = document.getElementById('td1');
td21.parentNode.removeChild(td21);

td23 = document.getElementById('td3');
td23.parentNode.removeChild(td23);

td22 = document.getElementById('td2');
td22.style.textAlign = "center";
}
function comedy()
{
td31 = document.getElementById('td1');
td31.parentNode.removeChild(td31);

td32 = document.getElementById('td2');
td32.parentNode.removeChild(td32);

td33 = document.getElementById('td3');
td33.style.textAlign = "center";
}

最佳答案

您需要一个变量,所有函数都可以访问该变量,该变量将告诉您表处于哪种“模式”:

var allColumns = true;

function comedy() {
    if (allColumns) {
        // ... do stuff here ...
        allColumns = false;
    } else {
        // ... do different stuff here ...
        allColumns = true;
    }
}

关于javascript - 使onClick事件与其他点击有所不同吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13275831/

10-09 09:06