Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [DIV/JS] Wykrywanie rozdzielczości i zmiana wysokośći DIV'a.
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Liko
Witam.
Chciałbym żeby skrypt JS rozpoznawał mi rozdzielczość i automatycznie zmieniał wysokość pewnego div'a. Chodzi mi o takie coś: Jeżeli ktoś ma rozdzielczość 800x600 to DIV o id "table_center" zmienia wysokość na 200px, a jeżli ktoś wchodzi i ma rozdzielczość 1024x768 to DIV o id "tabela_center" zmienia wysokość na 320px. Jeżeli żadna rozdzielczość nie będzie pasować to DIV o id "tabela_center" ma wysokość 400px.

Myślę, że wyraziłem się jasno i czytelnie.

Pozdrawiam
Dominik
Kod
if (screen.width=800&&screen.height=600)

document.write("<div style='height:200px'>");

else if (screen.width=1024&&screen.height=768)

document.write("<div style='height:320px'>");

else

document.write("<div style='height:400px'>");

Uwagi winksmiley.jpg
1. Nie testowalem
2. Uzupelnisz sobie to co masz w document.write do swoich potrzeb.
Paul
Witam.

Moim zdaniem bazowanie skryptu na rozdzielczosci nie jest najlepszym pomyslem, bo ktos moze nie miec przegladarki wlaczonej na pelny ekran... dlatego napisalem skrypt oparty na wysokosci obszaru aktywnego przegladarki (chodzi mi - tam gdzie wyswietlana jest strona).

[xml:1:229eb5edd9]<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
<script type="text/javascript">
function rozmiar(){
tabela = document.getElementById('tabela_center');
wys = document.body.clientHeight;
//window.status = wys;
if(wys < 550){
tabela.style.height = 200;
}else{
if(wys >= 550 && wys < 650){
tabela.style.height = 320;
}else{
tabela.style.height = 400;
}
}
}
</script>
</head>
<body style="margin:0; padding:0;" onload="rozmiar()" onresize="rozmiar()">
<div id="tabela_center" style="width:500; height:500;background-color: red;">
</div>
</body>
</html>[/xml:1:229eb5edd9]
Mysle, ze bedzie ci odpowiadac smile.gif Zostaje jeszcze kwestia regualcji odpowiednich wysokosci, gdyby cos nie gralo - wystarczy sobie odkomentarzowac ta linie z window status, co spowoduje wyswietlenie wysokosci obszaru roboczego przeglarki... Warto tez uwzglednic to, ze IE w 1024 na pelnym ekranie to 599 px, Mozilla 603 a Opera 551 - jednak te wartosci moga sie zmieniac w zaleznosci od wlaczonych czy tez nie dodatkowych toolbarow etc.
Paul
Zauwazylem wlasnie, ze w kodzie Dominik'a w ifie i else ifie nalezy dolozyc po = , zeby bylo po 2, czyli rownosc, a nie przypisanie...
Liko
Używam twojego kodu i sprawdza się w 100% więc nie potrzebuje jego, ale dałem mu punkt za odpowiedź, która może mi się jeszcze przydać.
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.