はい、私は初心者ですが、考えられることはすべて試したので、頭がいっぱいです。これは 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);
}
};