Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Dolaczenie styli zależnie od rozdzielczości
lukash82
post 25.11.2009, 13:13:37
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Witam. Mam takie pytanie... Temat już poruszany na forum ale niestety żadne z rozwiązań mi nie zadziałało. Rozwiązania jakie znalazłem w guglu też nie działają albo są mocno okrojone... Dlatego postanowiłem wykombinować coś swojego. Muszę dołączyć odpowiedni arkusz css w zależności od rozdzielczości jaką ma użytkownik. Podzieliłem to na 3 kategorie czyli

1025<=1440<większe

A więc mam coś takiego:
  1. <script type="text/javascript">
  2. var zmienna = screen.width;
  3. if(zmienna<'1025'){
  4. //document.write(zmienna);
  5. </script>
  6. <link rel="stylesheet" type="text/css" href="style1025.css" />
  7. }
  8. if(zmienna>'1025' && zmienna<='1440'){
  9. //document.write(zmienna);
  10. </script>
  11. <link rel="stylesheet" type="text/css" href="style1440.css" />
  12. }
  13. else if(zmienna>'1440'){
  14. //document.write(zmienna);
  15. </script>
  16. <link rel="stylesheet" type="text/css" href="style1680.css" />
  17. }

Tylko problem w tym, że ładuje mi się non stop ostatni arkusz czyli style1680 mimo że warunki są dobrze zapisane... Co może być powodem takiego działalnia? Ewentualnie może macie jakieś swoje sprawdzone i przede wszystkim działające metody na rozpoznawania rozdzielczości? Jeden z pomysłów jakie znalazłem w guglu to coś takiego:

  1. <script language="javascript">
  2. <!--
  3. document.write("<img width=1 height=1 border=0 src= <a href="http://serwer/get_res.php?width=&quot;+screen.width+&quot;&height=&quot;+screen.height+&quot;&depth=&quot;+screen.colorDepth+&quot;" target="_blank">http://serwer/get_res.php?width="+scr...lorDepth+"</a> >");
  4. //-->
  5. </script>
  6.  


Ale jakoś nie mam pomysłu jak szerokość ekranu wyciągnąć w pliku get_res.php. Przykład ze strony:
http://www.webdeveloper.pl/wykrywanie_rozd...145,1,1,pl.html

Jeśli możecie mi coś podpowiedzieć to będę wdzięczny. Z góry dzięki i pozdrawiam, Ł
Go to the top of the page
+Quote Post
Wicepsik
post 25.11.2009, 13:24:21
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Zmienna do której przypisujesz szerokość to int nie string.


--------------------
Go to the top of the page
+Quote Post
lukash82
post 25.11.2009, 13:32:09
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Witam. No ok, ale pisałem, że warunki działają jeśli nie robię opcji dołączania plików css tylko samo document.write(zmienna). Pytanie jest o to dlaczego jeśli tak to działa to gdy dodam opcję z arkuszami stylów dołącza tylko ostatni z nich niezależnie od rozdzielczości?
Go to the top of the page
+Quote Post
Wicepsik
post 25.11.2009, 13:46:34
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. //var zmienna = screen.width;
  3. var zmienna = 1024;
  4. if(zmienna>1440){
  5. alert('1440');
  6. //<link rel="stylesheet" type="text/css" href="style1.css" />
  7. }
  8. else if(zmienna>1025){
  9. alert('>1025');
  10. //<link rel="stylesheet" type="text/css" href="style1440.css" />
  11. }
  12. else if(zmienna<1025){
  13. alert('<1025');
  14. //<link rel="stylesheet" type="text/css" href="style1680.css" />
  15. }
  16. </script>
[JAVASCRIPT] pobierz, plaintext


--------------------
Go to the top of the page
+Quote Post
lukash82
post 25.11.2009, 14:56:16
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Witam ponownie. Dzięki, za poprawki, ale to co napisałeś działa tak samo jak moje (no trochę tam błędów jest ale nieważne, działa) Spróbuj jednak zamiast alert-ów dołączyć jakikolwiek arkusz stylów... Nie wiem czemu ale jakby tak nie przerabiał to zawsze pobierze mi ostatni arkusz z możliwych opcji. Dla przykładu prosty test:
  1. <script type="text/javascript">
  2. var zmienna = screen.width;
  3. if(zmienna>1440){
  4. //alert('1440');
  5. </script>
  6. #test{
  7. width: 300px; height: 300px; background: red;
  8. }
  9. </style>
  10. <script>
  11. }
  12. else if(zmienna>1025){
  13. //alert('>1025');
  14. </script>
  15. #test{
  16. width: 300px; height: 300px; background: yellow;
  17. }
  18. </style>
  19. <script>
  20. }
  21. else if(zmienna<1025){
  22. //alert('<1025');
  23. </script>
  24. #test{
  25. width: 300px; height: 300px; background: blue;
  26. }
  27. </style>
  28. }
  29. </head>
  30. <div id="test">
  31. </div>
  32. </body>
  33. </html>

Normalnie brak mi sił do tego:/ Pozdrawiam,Ł
Go to the top of the page
+Quote Post
Wicepsik
post 25.11.2009, 15:04:18
Post #6





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. //var zmienna = screen.width;
  3. var zmienna = 1024;
  4. if(zmienna>=1440){
  5. //alert('1440');
  6. document.write('<style>#test{width: 300px; height: 300px; background: red;}</style>');
  7.  
  8. }
  9. else if(zmienna>=1025){
  10. //alert('>1025');
  11.  
  12. document.write('<style>#test{width: 300px; height: 300px; background: yellow;}</style>');
  13.  
  14. }
  15. else if(zmienna<1025){
  16. //alert('<1025');
  17.  
  18. document.write('<style>#test{width: 300px; height: 300px; background: blue;}</style>');
  19.  
  20. }
  21. </script>
[JAVASCRIPT] pobierz, plaintext

Ehh..


--------------------
Go to the top of the page
+Quote Post
lukash82
post 25.11.2009, 15:16:15
Post #7





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Ok, nareszcie działa! Szczerze mówiąc pierwsza moja styczność z javascript i nie bardzo wiedziałem jak to ugryźć. Nie wiem czemu ale jakoś mam javowstręt chyba i staram się jej unikać jak ognia, hehe. Wielkie dzięki za pomoc! Pozdrawiam, Ł
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 03:12