Napisałem ostatnio kodzik w js, takie ostatnio popularne gwiazdki do głosowania, wynik działania poza IE widać
tutaj problem polega właśnie w IE, nie wiem czemu ten kod nie działa pod tym badziewiem, wydaje mi się że problem tkwi w setAttribute, wie ktoś może jak to ominąć?
<script type="text/javascript">
var g_clear = 'g_white.gif';
var g_fill = 'g_green.gif';
var ile = 5;
var x = 29;
var y = 29;
function $( id ){
return document.getElementById( id );
}
function generuj(){
var iden = $( 'ocena' );
for( i = 0; i < ile; i++ ){
docBody = $( 'ocena' );
element = document.createElement("img");
element.id = i ;
docBody.appendChild(element);
incre = i + 1;
element.setAttribute("src", g_clear);
element.setAttribute("width", x);
element.setAttribute("height", y);
element.setAttribute("onMouseOver", "zmien('"+incre+"');");
$('ocena').setAttribute("onMouseOut", "czysc();");
}
}
function zmien(nr){
for(i = 0; i < nr; i++)
$(i).setAttribute("src", g_fill);
}
function czysc(){
for( i = 0; i < ile; i++ )
$(i).setAttribute("src", g_clear);
}
<body onload="generuj();">
właściwie to już sobie poradziłem
trzeba było zrobić taki cuś:
if(navigator.appName == 'Microsoft Internet Explorer'){
element.setAttribute("onmouseover", function zaz(){ zmien(this.name); });
element.setAttribute("onmouseout", function dez(){ czysc(); });
} else {
element.setAttribute("onMouseOver", "zmien('"+incre+"');");
$('ocena').setAttribute("onMouseOut", "czysc();");
}