0

はい、私は初心者ですが、考えられることはすべて試したので、頭がいっぱいです。これは IE 以外のブラウザー (IE9 を含む) で正常に動作し、関数が失敗するのか、それとも機能するのかはわかりませんが、「false を返す」メカニズムは失敗します。私はそれを修正しようとして手書きで書きました:

ページに青い枠線のボックスがあり、上部にファイル フォルダー タブが並んでいます。各タブは、1 つを除いて表示が「非表示」の 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