Прошу совета и помощи. Написал небольшой скрипт рейтинга со звездочками:
<style type="text/css">
.rate
{
cursor:hand;
background:url(/TEST/star.gif) repeat-x;
}
.rate A
{
float:left;
width:16px;
height:16px;
cursor:hand;
text-decoration:none;
background:url(/TEST/star.gif) no-repeat;
margin:0;
padding:0;
}
.rate A.Select
{
background-position: 0 -16px;
}
.rate A.Hover
{
background-position: 0 -32px;
}
</style>
<script language="javascript">
var t;
var s;
function FillRect(Obj,Val)
{
var Elems=Obj.parentNode.getElementsByTagName("a");
for(var i=0;i<Elems.length;i++)
{
if ((Val) == i) return;
clearTimeout(s);
s=setTimeout(new function(){if (!Elems[i].className.match(/ Hover/)) Elems[i].className+=" Hover";},1000);
}
}
function ClearRect(Obj)
{
var Elems=Obj.parentNode.getElementsByTagName("a");
for(var i=0;i<Elems.length;i++)
{
clearTimeout(t);
t=setTimeout(new function(){if (Elems[i].className.match(/ Hover/)) Elems[i].className=Elems[i].className.replace(/ Hover/,"")},1000);
}
}
</script>
<div class="rate">
<a href="" onmouseover="FillRect(this,1)" onmouseout="ClearRect(this)" class="Select"></a>
<a href="" onmouseover="FillRect(this,2)" onmouseout="ClearRect(this)"></a>
<a href="" onmouseover="FillRect(this,3)" onmouseout="ClearRect(this)"></a>
<a href="" onmouseover="FillRect(this,4)" onmouseout="ClearRect(this)"></a>
<a href="" onmouseover="FillRect(this,5)" onmouseout="ClearRect(this)"></a>
</div>
В Опере - все ок. Но вот Эксплорер со страшной силой перерисовывает (мигает) весь div при перемещении над ним мыши. Я уже и таймер попробовал вставить - ничего не помогает. Можно это как-то побороть?