3 つのタブを持つ「タブ ツールバー」があります。ユーザーがタブをクリックすると、クリックされた 3 つのタブに応じて、Web ページに異なるデータが表示されます。
ユーザーが 3 つのタブのうちどれを「選択」したかを思い出させるために、クリックされたときにその CSS クラスをオンザフライで変更します。
「選択済み」タブは次のように変更されます。(1) グラデーション付きの黄色がかった背景。(2) 大きなフォント。(3) 選択したタブの幅と高さがそれぞれ約 6 ピクセルずつ増加します。
Firefox では問題なく動作します。しかし、IE 10.0.9200 では、選択したタブの CSS クラスへの変更は、背景色とグラデーションに関して失敗します。たとえば、タブ #3 が最初に選択された場合、問題はありません。黄色のグラデーションが表示されます (フォントが大きくなり、幅と高さが大きくなります)。
しかし、別のタブをクリックしてもう一度タブ#3をクリックすると、IEは「選択された」CSSクラスの一部を「忘れる」ようです。2回目(および3回目と4回目など)にクリックしてタブ#3を選択すると、フォントサイズが大きくなり、幅と高さが大きくなりますが、グラデーションのある色付きの背景が表示されません.
IE のページで「リロード」を行うと、BAM がグラデーション付きの色付きの背景に突然戻ります。
「選択された」CSS クラスは次のとおりです。
.selectedTabClass{
-moz-box-shadow:inset 0px 1px 0px 0px #fff6af;
-webkit-box-shadow:inset 0px 1px 0px 0px #fff6af;
box-shadow:inset 0px 1px 0px 0px #fff6af;
background:-webkit-gradient( linear, left top, left bottom,
color-stop(0.05, #ffec64), color-stop(1, #ffab23) );
background:-moz-linear-gradient( center top, #ffec64 5%, #ffab23 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffec64',
endColorstr='#ffab23');
background-color:#ffec64;
-webkit-border-top-left-radius:15px;
-moz-border-radius-topleft:15px;
border-top-left-radius:15px;
-webkit-border-top-right-radius:15px;
-moz-border-radius-topright:15px;
border-top-right-radius:15px;
-webkit-border-bottom-right-radius:0px;
-moz-border-radius-bottomright:0px;
border-bottom-right-radius:0px;
-webkit-border-bottom-left-radius:0px;
-moz-border-radius-bottomleft:0px;
border-bottom-left-radius:0px;
text-indent:0;
border:1px solid #ffaa22;
display:inline-block;
color:#333333;
font-family:Arial;
font-size:18px;
font-weight:bold;
font-style:normal;
height:65px;
width:186px;
text-decoration:none;
text-align:center;
text-shadow:1px 1px 0px #ffee66;
}
.selectedTabClass:hover {
background:-webkit-gradient( linear, left top, left bottom,
color-stop(0.05, #ffab23), color-stop(1, #ffec64) );
background:-moz-linear-gradient( center top, #ffab23 5%, #ffec64 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffab23',
endColorstr='#ffec64');
background-color:#ffab23;
}
.selectedTabClass:active {
position:relative;
top:1px;
}
HTMLは次のとおりです。
<label class="selectedTabClass" id="tab3"
onclick="handleTabSelect(3, this)">this is Tab #3</label>
Javascript は次のとおりです。
function handleTabSelect(whichTab, thisOne)
{
document.getElementById(whichTab).className = "selectedTabClass";
}
IE が一貫して Firefox のように動作するようにするには、何かする必要がありますか?