Witam. Mam skrypt, który wyświetla zmodyfikowane dymki (hint). Zamiast zwykłych hintów tworzy div z position absolute i tekstem w środku, a potem ustawia się zawsze obok kursora i jest kasowany po opuszczeniu obszaru, na który ma reagować. Tylko jest z tym mały problem, bo czasem zdarza się tak, że ten div w ogóle nie znika i zostaje na stronie, zasłaniając jej część. Oto ten kod:
<script type="text/javascript">
function showhint(e,v,txt,objecttype){
if(txt){
var hintdiv=document.createElement("div");
hintdiv.className="hintobject";
hintdiv.innerHTML=txt;v.title="";
hintdiv.name='hintdivobject0';
v.move=function(e){
e=e||event;
hintdiv.style.left=e.clientX+document.body.scrollLeft+20+"px";
hintdiv.style.top=e.clientY+document.body.scrollTop+20+"px";
if (objecttype=='animebtn'){
if (v.name=='homebtn'){v.src='grafika/home1.png'};
if (v.name=='contactbtn'){v.src='grafika/contact1.png'};
if (v.name=='favoritesbtn'){v.src='grafika/favorites1.png'};
};
if (objecttype=='link'){v.style.color='#1F3F5F'};
}
v.move(e);
document.body.appendChild(hintdiv);
v.onmousemove=function(e){v.move(e)}
v.onmouseout=function(e){
v.title=hintdiv.innerHTML;
document.body.removeChild(hintdiv);
if (objecttype=='animebtn'){
if (v.name=='homebtn'){v.src='grafika/home.png'};
if (v.name=='contactbtn'){v.src='grafika/contact.png'};
if (v.name=='favoritesbtn'){v.src='grafika/favorites.png'};
};
if (objecttype=='link'){v.style.color='#5B6774'};
}
}
}
</script>
Potem w objekcie, na którym ma sie pojawić w onmouseover coś takiego:
onmouseover="showhint(event,this,'Strona główna','animebtn')"
Wiem, że to się dzieje, bo przeglądarka nie zawsze zdąży zareagować na opuszczenie obszaru funkcją onmouseout. Jak to naprawić?