Mam sobie stronę z iframe, w której to pokazywane są różne dane głównie w postaci tabelarycznej ( te interesujące mnie są właśnie w tabelkach )). Po najechaniu na daną komórkę ma pokazać mi się tekst z różnymi informacjami. Tekst ten wkładany jest do div'a i umieszczany po prawej stronie kursora.
Wszystko było fajnie, do czasu jak komórka leżała zbyt blisko krawędzi iframe. W takim przypadku div chował się poza krawędź iframa .. pojawiał sie na dole scroll do przesuwania, ale nie można było przesunąć bo jak się przesuwało kursor spoza komórki tekst znikał i scroll również znikał.
Chciałbym żeby skrypt pokazywał tego div'a z tekstem albo po prawej albo po lewej stronie kursora, w zależności od aktualnej pozycji kursora. Niestety wszystkie moje próby zawiodły i nie wiem jak to zrobić żeby było dobrze:(
function pokaz (e,co) { var posx, posy; ie=(document.all)?1:0; if (ie) { posx = event.clientX; posy = event.clientY+document.body.scrollTop; } else { posx = e.pageX; posy = e.pageY; } //alert(posx);alert(posy); if (navigator.userAgent.indexOf ("Opera") != -1) { posx = e.clientX + document.body.scrollLeft; posy = e.clientY + document.body.scrollTop; } with (document.getElementById("menu").style) { display = "block"; left = (posx + 5) + "px"; top = (posy + 5) + "px"; } } document.getElementById("menu").innerHTML=tab[co]; }
Próbowałem zrobić to tak:
function pokaz (e,co) { var posx, posy; ie=(document.all)?1:0; if (ie) { posx = event.clientX; posy = event.clientY+document.body.scrollTop; } else { posx = e.pageX; posy = e.pageY; } //alert(posx);alert(posy); if (navigator.userAgent.indexOf ("Opera") != -1) { posx = e.clientX + document.body.scrollLeft; posy = e.clientY + document.body.scrollTop; } if(posx>500) { with (document.getElementById("menu").style) { display = "block"; right = (880-posx) + "px"; top = (posy + 5) + "px"; } } else { with (document.getElementById("menu").style) { display = "block"; left = (posx + 5) + "px"; top = (posy + 5) + "px"; } } document.getElementById("menu").innerHTML=tab[co]; }
Niby pokazuje się lepiej, bo tekst zawsze jest widoczny, ale jest czasami tak ze pokazujący się div zajmuje całą szerokość iframe ale tekst jest na samym początku .. czyli daleko od kursora.
Jeżeli ktoś wie jak to rozwiązać, tak żeby div pokazywał się albo po lewej albo po prawej stronie kursora w zależności od pozycji na stronie ... proszę pomóżcie.