javascript - 使一个元素可见,使其他 49 个元素不可见

标签 javascript

我对 JavaScript 完全陌生,所以请耐心等待。

我的页面上有 50 个带有 id 的元素。全部设置为可见性:隐藏和位置:固定。我有一个与每个元素相对应的按钮。单击按钮时,将启动一个 javascript 函数,使相应的元素可见且position:relative。代码看起来像这样:

document.getElementById("id1").style.position='relative';
document.getElementById("id1").style.visibility='visible';

为了确保只有一个元素是可见且相对的,我还需要隐藏并固定其他 49 个元素。我怎样才能做到这一点,而不必求助于以下类型的代码:

function makeid1visibile()
{
    document.getElementById("id1").style.position='relative';
    document.getElementById("id1").style.visibility='visible';

    document.getElementById("id2").style.position='fixed';
    document.getElementById("id2").style.visibility='hidden';
    document.getElementById("id3").style.position='fixed';
    document.getElementById("id3").style.visibility='hidden';
    document.getElementById("id4").style.position='fixed';
    document.getElementById("id4").style.visibility='hidden';
    // etc...
}

如果有任何帮助,我们将不胜感激,因为有 50 个元素,编码行数将是惊人的。

最佳答案

应该能够用一个循环来处理它,只需传入您想要显示的项目的编号:

function makeIdVisible(id) {
    document.getElementById("id" + id).style.position='relative';
    document.getElementById("id" + id).style.visibility='visible';

    for (var i = 1; i <= 50; i++) {
        if (i !== id) {
            document.getElementById("id" + i).style.position='fixed';
            document.getElementById("id" + i).style.visibility='hidden';
        }
    }
}

关于javascript - 使一个元素可见,使其他 49 个元素不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9308817/

相关文章:

javascript - 如何使按钮消失并在 'x' 秒后重新出现?

javascript - 如何在 eclipse 中运行 Node.js 文件?

javascript - 像在这个特定网站上一样下拉文本

javascript - 如何从javascript中的字符串对象中删除一组字符

javascript - JQuery Ajax PHP 验证注册

javascript - 清除 setInterval() 问题

javascript - 如何编写通过websocket发送的文件?

javascript - 为什么 IE 在设置 innerHTML 时会出现意外错误

javascript - 需要在按钮单击时将可编辑数据提交到后端

javascript - 如何让图像仅在视口(viewport)中延迟加载?