我想改變使用javascript的元素的類。 到目前爲止我做:IE6/7和ClassName(JS/HTML)
var link = document.getElementById("play_link");
link.className = "play_button";
編輯:這裏是更換類名
在HTML的實際代碼:
<a href="#play_link_<%=i%>" id="play_link_<%=i%>"onclick="changeCurrentTo(<%=i%>);return false;" class="play_button"></a>
在JavaScript 功能changeCurrentTo(id){ activatePlayButton(current_track); current_track = id; inactivatePlayButton(current_track); }
function inactivatePlayButton(id){
document.getElementById("recording_"+id).style.backgroundColor="#F7F2D1";
var link = document.getElementById("play_link_"+id);
link.className="stop_button";
link.onclick = function(){stopPlaying();return false;};
}
function activatePlayButton(id){
document.getElementById("recording_"+id).style.backgroundColor="";
var link = document.getElementById("play_link_"+id);
link.className = "play_button";
var temp = id;
link.onclick = function(){changeCurrentTo(temp);return false;};
}
與
.play_button{
background:url(/images/small_play_button.png) no-repeat;
width:25px;
height:24px;
display:block;
}
老班是
.stop_button{
background:url(/images/small_stop_button.png) no-repeat;
width:25px;
height:24px;
display:block;
}
的背景是一個音樂播放器。當你點擊播放按鈕(三角形)時,它會變成停止按鈕(方形)並替換被調用的功能。
問題在於該類被更改,但在IE6和7中,新背景(此處爲/images/small_play_button.png)不會立即顯示。有時甚至根本不顯示。有時它不會顯示,但如果我稍微搖動鼠標,它就會顯示。
它在FF,Chrome,Opera和Safari中完美運行,所以它是一個IE bug。我知道很難立即告訴這些信息,但如果我能得到一些有用的指示和方向的話。
Thanks-
你用什麼來觸發班級變更? – 2009-04-22 16:51:40
我正在使用onclick。這裏是標記和js電話: – marcgg 2009-04-22 17:27:52
我使用了一個定位標記,因爲沒有其他標記可以在IE6中使用onclick動作正確工作,因此返回false hack。 – marcgg 2009-04-22 17:28:45