Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [IE] rozmiary wnętrza okna?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
nevt
Jak odczytać w IE rozmiary wnętrza okna oraz przesunięcie scrollbarów? Mam taki kod:
Kod
     var d = document;
     if(navigator.appName == "Microsoft Internet Explorer")
     {
         ofleft = d.body.scrollLeft;
         oftop = d.body.scrollTop;
         ofwidth = d.body.clientWidth;
         ofheight = d.body.clientHeight;
     }
     else
     {
         ofleft = window.scrollX;
         oftop = window.scrollY;
         ofwidth = window.innerWidth;
         ofheight = window.innerHeight;
     }

Ale niestety, z momencie gdy rozmiary okna są mniejsze niż rozmiar dokumentu (czyli pojawiają się suwaki) to parametry srollLeft i clientWidth oraz scrollTop i clientHeight nie przyjmują oczekiwanych wartości...(w IE oczywiście - fragment po bloku else działa niezawodnie...).

Kopię w necie już 2gi dzień i nie mogę znaleźć rozwiązania. Będę wdzięczny za każdą pomoc.
slammer
nie jestem pewien, ale dla IE powinno się używać:
Kod
document.body.offsetWidth;
document.body.offsetHeight;


do ustalenia rozmiaru obszaru wyswietlania w przeglądarce...
nevt
Dzięki slammer, faktycznie dla document.body, offsetWidth i offsetHeight zwracają odpowiednie wartości... ale już scrollLeft i scrollTop zwracają 0 bez względu na położenie suwaków...
slammer
dla body tez mi wywala caly czas zera, natomiast dla div juz nie:
Kod
<div id="oDiv" style="position: absolute;
    width: 200px;
    height: 100px;
    overflow: scroll"
    onclick="alert(this.scrollTop)">
    <span style="width: 250px">
    s<br>
    s<br>
    s<br>
    s<br>
    s<br>
    s<br>
    s<br>
    s<br>
    s<br>
    s<br>
    </span>
</div>
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.