Автор Тема: Мирцание IE  (Прочитано 4488 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Night_Wolf

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 29
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Мирцание IE
« : 20 Февраля 2009, 13:28:52 »
Прошу совета и помощи. Написал небольшой скрипт рейтинга со звездочками:


<style type="text/css">
.
rate
{
	
cursor:hand;
	
background:url(/TEST/star.gifrepeat-x;
}
.
rate A
{
	
float:left;
	
width:16px;
	
height:16px;
	
cursor:hand;
	
text-decoration:none;
	
background:url(/TEST/star.gifno-repeat;
	
margin:0;
	
padding:0;
}
.
rate A.Select
{
	
background-position-16px;
}
.
rate A.Hover
{
	
background-position-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 при перемещении над ним мыши. Я уже и таймер попробовал вставить - ничего не помогает. Можно это как-то побороть?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28