2011-10-28 8 views
5

W głowie html:Pokaż szerokość i wysokość bieżące wartości na zmianę rozmiaru okna

<script type="text/javascript"> 
    var myWidth = 0, myHeight = 0; 
    if(typeof(window.innerWidth) == 'number') { 
     myWidth = window.innerWidth; myHeight = window.innerHeight; 
    } else if(document.documentElement && (document.documentElement.clientWidth ||document.documentElement.clientHeight)) { 
     myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; 
    } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) { 
     myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; 
    } 
</script> 

W organizmie html:

<script type="text/javascript"> 
    document.write('<p>' + myWidth + 'x' + myHeight + '</p>'); 
</script> 

To działa dobrze. Pytanie brzmi: w jaki sposób mogę wyświetlać wartości szerokości/wysokości podczas zmiany rozmiaru przeglądarki? Jak tutaj http://quirktools.com/screenfly/ w lewym dolnym rogu.

Wielkie dzięki!

+0

robi to (dla tych w pośpiechu!) pomoc w przeszłości stackoverflow? http://stackoverflow.com/questions/641857/javascript-window-resize-event – user800612

+0

Znalazłem kod powyżej w Internecie. Jestem całkowicie początkującym. Jeśli ktokolwiek może napisać cały kod (zawinąć mój kod powyżej), byłoby świetnie. dzięki. –

Odpowiedz

11

Powiąż z window.onresize. Nie używaj document.write(). Umieść kod <p> w kodzie HTML i nadaj mu identyfikator. Następnie wystarczy ustawić innerHTML elementu bezpośrednio:

window.onresize = displayWindowSize; 
window.onload = displayWindowSize; 
function displayWindowSize() { 
    // your size calculation code here 
    document.getElementById("dimensions").innerHTML = myWidth + "x" + myHeight; 
}; 
+0

Dobrze działa na zmianę rozmiaru okna, wielkie dzięki. Jak mogę również wyświetlić go po raz pierwszy otworzyć stronę lub po przeładowaniu? –

+0

@ user9508 - Zaktualizowałem moją odpowiedź. – gilly3

+0

działa jak urok! –

2

Lub, jeśli jesteś już przy użyciu jQuery, można użyć .resize(handler) uchwycić zdarzenia zmiany rozmiaru i .resize() bez żadnych parametrów, aby wywołać początkowe zdarzenie, gdy okno jest ładowanie ukończone.

Jak to:

$(window).resize(function() { 
    // your size calculation code here 
    $("#dimensions").html(myWidth); 
}).resize(); 

Demo in Fiddle

13

Lubię rozwiązanie gilly3, ale dobrze byłoby, aby mieć pełny kod

<script> 
    window.onresize = displayWindowSize; 
    window.onload = displayWindowSize; 

    function displayWindowSize() { 
     myWidth = window.innerWidth; 
     myHeight = window.innerHeight; 
     // your size calculation code here 
     document.getElementById("dimensions").innerHTML = myWidth + "x" + myHeight; 
    }; 
</script> 
Powiązane problemy