Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]odczytanie wysokości diva
Forum PHP.pl > Forum > Przedszkole
sada
Witam!

IE ma problem (w FF jest OK) z odczytaniem wysokości diva
przez co generuje błąd w funkcji poniżej.

Błąd jest tutaj

[JAVASCRIPT] pobierz, plaintext
  1. var wys=$('#sformatowany').css('height');
[JAVASCRIPT] pobierz, plaintext


w FF oblicza prawidłową wartość , a w IE podaje "auto" chociaż w CSS nie ma "height"




[JAVASCRIPT] pobierz, plaintext
  1. $(function(){
  2. var wys=$('#sformatowany').css('height');
  3. wys=parseInt(wys);
  4. $('#punkt').click(function(){
  5. $('#sformatowany').animate({"marginTop" : -wys+'px'},60000);
  6. });
  7. });
  8.  
[JAVASCRIPT] pobierz, plaintext


jak odczytać wartość "height" rzeczywistą a nie ustawioną w CSS?
kalmaceta
$('twojdiv').getDimensions().height
sada
Zrobiłem tak:


[JAVASCRIPT] pobierz, plaintext
  1. $(function(){
  2. var wys=$('#sformatowany').getDimensions().height ;
  3. alert(wys);
  4. wys=parseInt(wys);
  5.  
  6. $('#punkt').click(function(){
  7. $('#sformatowany').animate({"marginTop" : -wys+'px'},60000);
  8. });
  9. });
[JAVASCRIPT] pobierz, plaintext



Niestety kicha i w IE I w FF, tak jakby getDimensions() nie działało.
Co robię źle? To chyba działa tylko w "prototype"

Alertem tylko sprawdzam
kalmaceta
ze strony

[JAVASCRIPT] pobierz, plaintext
  1. function getStyle(oElm, strCssRule){
  2. var strValue = "";
  3. if(document.defaultView && document.defaultView.getComputedStyle){
  4. strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
  5. }
  6. else if(oElm.currentStyle){
  7. strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
  8. return p1.toUpperCase();
  9. });
  10. strValue = oElm.currentStyle[strCssRule];
  11. }
  12. return strValue;
  13. }
[JAVASCRIPT] pobierz, plaintext


Heisenbug
sada
Sprawa okazała się prostsza niż myślałem


[JAVASCRIPT] pobierz, plaintext
  1. $(function(){
  2. var wys=$('#sformatowany').height() ;
  3. wys=parseInt(wys);
  4.  
  5. $('#punkt').click(function(){
  6. $('#sformatowany').animate({"marginTop" : -wys+'px'},60000);
  7. });
  8. });
[JAVASCRIPT] pobierz, plaintext



Dziękuję wszystkim za pomoc
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.