我有一個問題,IE6不能處理3按鈕狀態代碼。我必須在IE6中完成這項工作,所以不支持它不是一個選項。jQuery mouseover/mouseout /點擊狀態圖像不工作在IE6
該代碼適用於除IE6(PC)以外的所有瀏覽器(FF3.6 PC和MAC,IE8 PC,Safari MAC)。
這裏是什麼CSS是這樣做的:
#button-1, #button-2, #button-3 {
background-image: url('/images/inactive.png');
background-position: top left;
}
.active#button-1, .active#button-2, .active#button-3 {
background-position: top right;
}
.over#button-1, .over#button-2, .over#button-3 {
background-position: bottom left;
}
然後jQuery的:
$('#button-1).mouseover(function(){
if($('#button-1').hasClass('active') == false){
$('#button-1').addClass('over');
}
});
$('#button-2).mouseover(function(){
if($('#button-2').hasClass('active') == false){
$('#button-2').addClass('over');
}
});
$('#button-3).mouseover(function(){
if($('#button-3').hasClass('active') == false){
$('#button-3').addClass('over');
}
});
$('#button-1).click(function(){
changeTab(1);
});
$('#button-2).click(function(){
changeTab(2);
});
$('#button-3).click(function(){
changeTab(3);
});
的點擊狀態,工作正常,在這種情況下。還有一個類似於mouseover的mouseout(),但刪除了「over」類。
當然,還有更多的,然後它只是按鈕1的ID或任何它就像
<div id="button-1">
<div>Text</div>
</div>
<div id="button-2">
<div>Text</div>
</div>
<div id="button-3">
<div>Text</div>
</div>
當我倒置這樣的CSS類(注意通過標準的空div元素類現在是活動類的頂部):
#button-1, #button-2, #button-3 {
background-image: url('/images/inactive.png');
background-position: top left;
}
.over#button-1, .over#button-2, .over#button-3 {
background-position: bottom left;
}
.active#button-1, .active#button-2, .active#button-3 {
background-position: top right;
}
在這種情況下,IE6 DOES做翻轉,但不做點擊...這似乎IE6犯規一樣在相同的元素2類之間切換。 ..不知道這裏發生了什麼,需要一些幫助如何獲得鼠標懸停和點擊按照他們應該的工作。
我已經在Firefox firebuged它,它正在改變類,因爲它應該......我相信它做它在IE6,但我認爲它與CSS的東西......與其說是jQuery的...
哦,我已經嘗試在over class的背景位置添加一個!重要的指令,但仍然無效。
它不適用於背景圖像......只是顏色......至少這證實了我的發現,IE6不喜歡同一個ID上的多個類 – Ryan 2011-06-17 00:03:28