0

是的,我是一个菜鸟,但我已经无能为力了,因为我已经尝试了我能想到的一切。这在 IE 以外的浏览器(包括 IE9)中运行良好,我不确定该函数是否失败或者它是否有效但“return false”机制失败。我已经用手写的方式把它写出来,试图修复它:

我在页面上有一个蓝色边框的框,顶部有一排文件夹选项卡。每个选项卡都与 div 中的内容相关联,其中显示是“隐藏”的,除了一个。外部 javascript 更改选项卡的外观,使适当的看起来像在前面,并且还更改了框的内容。

    function changeText(e) {
    e = e || window.event;
    var content = document.getElementById('bb');
    var a1 = document.getElementById('a1');
    var a2 = document.getElementById('a2');
    var a3 = document.getElementById('a3');
    var c1 = document.getElementById('c1');
    var c2 = document.getElementById('c2');
    var c3 = document.getElementById('c3');
    var content1 = document.getElementById('content1');
    var content2 = document.getElementById('content2');
    var content3 = document.getElementById('content3');
    if (!e.target) {
         e.target = e.srcElement || document;
    }

    if (e.target.id == 'a1') {
        c1.className = 'bbta bbt';
        c2.className = 'bbtina bbt';
        c3.className = 'bbtina bbt';
        content1.className = 'display_block';
        content2.className = 'display_none';
        content3.className = 'display_none';
        if (e.preventDefault) {
           e.preventDefault(); // other older browsers
        } else {
            e.returnValue = false; // IE8 and below
        }
    } else if (e.target.id == 'a2') {
        var head = document.getElementsByTagName("head")[0];  
        head.innerHTML += "<style type='text/css'>p.style11{color: #020;  text-decoration: none; font-weight: 300;} p.style11 a:link, p.style11 a:visited {color: #020;  text-decoration: underline; font-weight: 300;}p.style11 a:hover, p.style11 a:active {color: #0C436A;  text-decoration: none; font-weight: 300;}</style>";
        c1.className = 'bbtina bbt';
        c2.className = 'bbta bbt';
        c3.className = 'bbtina bbt';
        content1.className = 'display_none';
        content2.className = 'display_block';
        content3.className = 'display_none';
        if (e.preventDefault) {
           e.preventDefault(); // other older browsers
        } else {
            e.returnValue = false; // IE8 and below
        }
        return false;
    } else if (e.target.id == 'a3') {
        var head = document.getElementsByTagName("head")[0];
        head.innerHTML += "<style type='text/css'>p.style11{color: #020;  text-decoration: none; font-weight: 300;} p.style11 a:link, p.style11 a:visited {color: #020;  text-decoration: underline; font-weight: 300;}p.style11 a:hover, p.style11 a:active {color: #0C436A;  text-decoration: none; font-weight: 300;}</style>";
        c1.className = 'bbtina bbt';
        c2.className = 'bbtina bbt';
        c3.className = 'bbta bbt';
        content1.className = 'display_none';
        content2.className = 'display_none';
        content3.className = 'display_block';
        if (e.preventDefault) {
           e.preventDefault(); // other older browsers
        } else {
            e.returnValue = false; // IE8 and below
        }
    }
}

window.onload = function () {
    var bluebox = document.getElementById ('bb_holder');
    var tab = bluebox.querySelectorAll('div.bbt');
    for (var i=0; i < tab.length; i++) {
        tab[i].addEventListener('click', changeText, false);
    }
};
4

0 回答 0