![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 25.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
napisałem skrypt podpowiedzi w formie dymków/chmurek. Problem jest taki, że w IE, w przypadku gdy strona jest na tyle długa, że na ekranie pojawia się scroll, jeżeli najedziemy na link podpowiedzi, wówczas na ułamek sekundy scroll "skacze" na sam dół i powraca. W innych skryptach (dostępnych w sieci) tak się nie dzieje, próbowałem prawie wszystkich możliwości i nic... Dalej to samo. Po raz pierwszy wymiękłem i nic mi już do głowy nie przychodzi, stąd proszę Was o pomoc w zdiagnozowaniu problemu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Poniżej skrypt z dużą ilością znaczników <br />, tak aby pojawił się scroll i żebyście mogli zauważyć opisany wyżej, niechciany efekt.
Ten post edytował Vir 27.04.2005, 09:27:19 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 25.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzisiaj rano doznałem olśnienia i doszedłem do rozwiązania, które zamieszczam poniżej. Jak widać wystarczyła mała modyfikacja (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Kod /* Tooltips script v.1.0 Copyrights (c) 2005 Mariusz 'Vir' Grabczynski free for non-commercial use [please leave this comment intact] Parametrs (in 'title' attributes): | - new line [should be placed directly after words - whithout space] */ onload=function(d,b,a,i,nD,nDe,tV) { d=document;b=d.body;a=b.getElementsByTagName('a'); for(i=0;i<a.length;i++) { if(a[i].title) { nD=d.createElement('div');nD.className='tooltip';nD.id='tooltip';b.appendChild(nD); a[i].onmouseover=function() { b.appendChild(nD);tV=this.title;nD.innerHTML=this.title.replace(/\|/g,"<br />"); this.title=''; } a[i].onmousemove=function(e) { if(nDe=d.getElementById('tooltip')) { e=e||event; with(nDe.style){left=e.clientX+b.scrollLeft+'px';top=e.clientY+b.scrollTop+'px';} } } a[i].onmouseout=function() { t=d.getElementById('tooltip');if(nDe=t)b.removeChild(nDe);this.title=tV; } a[i].onclick=function() { return false; } } } } Ps. Jeżeli mamy ustawiony background-color w a:hover (css), wówczas problem pojawi się na nowo - rozwiązanie to usunięcie tego stylu. Pzdr |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 06:20 |