Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciąganie wysokości elementu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
kociou1
witam.
w jaki spsób można dowiedziec sie jaka wysokosc ma np. jakis div na stronie przy zalozeniu ze jego wysokosc nieb jest okreslona w css.
Mając np taki kod:
  1. <div id="d">
  2. jakis tekst<br>
  3. dalej tekst...
  4. </div>

chciałbym wyciągnąć wartość wysokości div id="d", która bedzie różna w zależności od ilości tekstu w nim zawartego.
czy wyciagniecie tej wielkosci jest wogole mozliwe przez javascript?
siemakuba
Tak, można to zrobić.
Najprościej skorzystać z jQuery i pluginu dimensions.
Kod
$('#d').height();


Mniej prościej, to napisać funkcję, która sprawdzi jaka przeglądarka i użyje odpowiednich dla niej metod do zbadania wysokości elementu. Poszukaj w dokumentacji dla mozilli (dev.mozilla) i dla IE (library.msdn).

pozdr.
devnul
a mi się wydawało że wysokośc elementu jest tak samo wyciągana dla obu tych przegladarek

  1. alert(document.getElementById('alamakota').offsetHeight);
  2. <div id="alamakota">
  3. asd asdad <br />
  4. asdasdasd
  5. </div>
siemakuba
@devnul: Możliwe że masz rację - pamiętam, że miałem jakieś problemy z tym. Nie pamiętam już dokładnie o co chodziło stąd napisałem jak powyżej. Być może problem dotyczył offsetLeft itp.

pozdr.
devnul
@siemakuba: tak jak mówisz problem jest z offsetLeft i offsetTop i wiąże się to z względnym wskazywaniem wartości w stosunku do rodzica. offsetWidth i offsetHeight są bezpieczne i wszystkie przeglądarki interpretują je tak samo. Sam uzywam jQuery ale uważam że nie mam potrzeby ładowania 19kb tylko po to zeby sprawdzić wysokość jakiejś warstwy.

Pozdr.
siemakuba
Cytat(devnul @ 16.04.2007, 15:33:48 ) *
Sam uzywam jQuery ale uważam że nie mam potrzeby ładowania 19kb tylko po to zeby sprawdzić wysokość jakiejś warstwy.


Tak, masz oczywiście racje - skoro jest tak jak piszesz to w zupełności wystarczy offsetHeight. Pakowanie tu jQuery tylko w tym celu byłoby co najmniej nierozsądne. W związku z błędnym założeniem na początku uznałem to po prostu za najpewniejszą metodą.

Kończmy, sprawa wyjaśniona ;)

pozdr.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.