Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] Obrazek w ustalonej pozycji z tabeli
wojteke
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 17.07.2009

Ostrzeżenie: (0%)
-----


Witam

Chciałbym, by po najechaniu na pole danej komórki w tabeli, w ustalonej pozycji wyświetlił się obrazek z boku komórki. Nie wiem czy dobrze kombinuję, dlatego zwracam się do Was o pomoc. Właściwie już prawie udało mi się osiągnąć zamierzony efekt. Problem mam tylko taki, że używając stylu css: position: relative; obrazek, który mi się wyświetla obok, zajmuje dodatkowo miejsce w komórce, z której rzekomo został "przesunięty".

Sytuacje doskonale widać na poniższym screenie:

(IMG:http://www.fothost.pl/upload/09/38/979f443e.gif)

Przedstawiam kod:

  1. <style type="text/css">
  2. div.submenu
  3. {
  4. position: relative;
  5. left: -150px;
  6. top: -75px;
  7. visibility: hidden;
  8. }
  9.  
  10. <script type="text/javascript">
  11. <!--
  12. function Pokaz(nazwa)
  13. {
  14. document.getElementById(nazwa).style.visibility = 'visible';
  15. document.getElementById(nazwa).parentNode.style.backgroundColor = 'green';
  16. }
  17. function Ukryj(nazwa)
  18. {
  19. document.getElementById(nazwa).style.visibility = 'hidden';
  20. document.getElementById(nazwa).parentNode.style.backgroundColor = 'Transparent';
  21. }
  22. //-->
  23. </script>
  24.  
  25. </head>
  26. <br /><br /><br /><br /><br />
  27. <table border="1">
  28. <tr>
  29. <td class="menuitem" onmouseover="Pokaz('SubMenu1')" onmouseout="Ukryj('SubMenu1')">
  30. napis
  31. <div id="SubMenu1" class="submenu">
  32. <img src="image.jpg" border="0px">
  33. </div>
  34. </td>
  35. </tr>
  36. </table>
  37. </center>
  38. </body>
  39. </html>


position: absolute; nie wchodzi chyba w grę, bo chciałbym, by zawsze obrazek pojawiał się w tym samym miejscu na stronie.

Pozdrawiam!

Ten post edytował wojteke 15.09.2009, 23:09:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


bardzo to mógłbyś to zrobić bez js tylko używając css.... ale skoro chcesz w js to musisz obliczyć pozycję komórki tabeli względem dokumentu (w jquery była odpowiednia własność) - możesz w sumie do wyznaczenia tej pozycji wspomóc się w czystym js jeszcze getComputedStyle - zwróci Ci to obiekt z właściwościami przeliczonymi względem głównego dokumentu - mając tą właściwość po prostu w obliczonej pozycji wyświetlisz dymek który nie będzie się ruszał - ale w sumie na to jest wiele rozwiązań (IMG:style_emoticons/default/winksmiley.jpg) [jak mawiają każda droga prowadzi do Rzymu)

ok - ale co Ci szkodzi CSS samo??
może to Cię zainteresuje jeszcze ;p - wcześniej nakierowywałem na to na co sam się uparłeś ;p
  1. td .hide {visibility:hidden;position:absolute;}
  2. td:hover .hide {visibility:visible;margin-left:-200px}
  3. </style></head>
  4. <br /><br /><br /><br /><br /><br /><br /><br />
  5. <table border="1">
  6. <tbody><tr>
  7. <td> <div class="hide">
  8. <img src="http://www.google.pl/intl/en_com/images/logo_plain.png"><br /> umyślałem sobie dymek ;p - równie dobrze klasa mogła być tylko do obrazka przypisana ;)
  9. </div>
  10. napis g h gsdf sdfd gdsf sdgdfsfg dfs dfsg sdg ds
  11. </td>
  12. </tr>
  13. </body></html>


Ten post edytował zegarek84 17.09.2009, 11:07:14
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 20:44