Я пытаюсь изменить класс элемента, используя JavaScript.
Пока что делаю:
var link = document.getElementById("play_link");
link.className = "play_button";
edit : вот фактический код, который заменяет имя класса
В HTML:
<a href="#play_link_<%=i%>" id="play_link_<%=i%>"onclick="changeCurrentTo(<%=i%>);return false;" class="play_button"></a>
В JavaScript
function 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. Я знаю, что сложно сказать сразу только из этой информации, но если бы я мог получить некоторые указания и указания, которые были бы полезны.
1028 * Благодарения и *