Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z offset().top
klaudio
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 19.01.2012

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


Witam
Mam takie pytanko. Mam glownego diva powiedzmy <div id="glowny"> i kilka innych divow w srodku niego niech to bedzie a, b, c.

<div id="glowny">
<div id="A">a</div>
<div id="B">b</div>
<div id="C">c</div>
</div>


I teraz chce przy uzyciu takiej skladni offset().top odleglosc ktoregos w wewnetrznych divow do mojego glownego diva. Niestety offset().top zwraca mi wartosc nie do diva o ID=glowny ale to krawedzi okna. Pytanie jest jak to zrobic zeby zwracal mi tylko odleglosc do diva o ID=glowny.

Z gory dziekuje za odpowiedz.

Pozdrawiam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




.position()
Go to the top of the page
+Quote Post
klaudio
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 19.01.2012

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


Witam i ponawiam temat.

Rozwiazanie wyzej zwraca jakies dziwne wartosci a pozatym rozwiazanie w jQuery w tym wypadku mnie nie interesuje.

Ponizej mam DIV a w nim kilka tabel. Chce aby kazde klikniecie na wiersz zwracalo mi odleglosc kliknietego wiersza do DIVa a o ID tabelka.
Niestety offsetTop zwraca mi wartosc tylko do swojego rodzica czyli do tabeli o ID tab 0, 1 lub 2.
Jak by byla jedna tabela to offsetTop jest OK ale w tym wypadku nie dziala.

Czy ktos ma jakis pomysl?
Z gory dziekuje za pomoc i pozdrawiam (IMG:style_emoticons/default/smile.gif)

  1. <div id="tabelka">
  2. <table id="tab0" border='0' cellspacing='0' cellpadding='0' style='height:30px; width:600px; background:yellow'>
  3. <tr id="x1" onclick="pos(this);"><td>1</td><td>1</td></tr>
  4. <tr id="x2" onclick="pos(this);"><td>2</td><td>2</td></tr>
  5. <tr id="x3" onclick="pos(this);"><td>3</td><td>3</td></tr>>
  6. </table>
  7. <table id="tab1" border='0' cellspacing='0' cellpadding='0' style='height:30px; width:600px; background:yellow'>
  8. <tr id="x4" onclick="pos(this);"><td>4</td><td>4</td></tr>
  9. <tr id="x5" onclick="pos(this);"><td>5</td><td>5</td></tr>
  10. <tr id="x6" onclick="pos(this);"><td>6</td><td>6</td></tr>
  11. </table>
  12. <table id="tab2" border='0' cellspacing='0' cellpadding='0' style='height:30px; width:600px; background:yellow'>
  13. <tr id="x7" onclick="pos(this);"><td>7</td><td>7</td></tr>
  14. <tr id="x8" onclick="pos(this);"><td>8</td><td>8</td></tr>
  15. <tr id="x9" onclick="pos(this);"><td>9</td><td>9</td></tr>
  16. </table>
  17. </div>
  18.  
  19. function pos(e){
  20. alert(e.offsetTop)
  21. }


OK z problemem sobie poradzilem. Ale na przyszlosc jak by ktos tez mial z tym problem to trzeba DIV-owi o ID tabelka nadac pozycje relatywna style="position: relative" i taki kod wiersz.offsetParent.offsetTop + wiersz.offsetTop; zalatwia sprawe. Chyba ze ktos ma inne rozwiazanie to moze napiszac.

Pozdrawiam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 3.10.2025 - 02:34