Autor | Zpráva | ||
---|---|---|---|
Karel25 Profil * |
Mohli by jste mi poradit, proč neregistruje podminku else if?
<script> function winsW() { if (document.body && document.body.scrollWidth) /* starší MSIE + MSIE6 v quirk režimu */ return document.body.scrollWidth; else return null; } function winW() { if (window.innerWidth) return window.innerWidth; else if (document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth; else if (document.body && document.body.clientWidth) return document.body.clientWidth; else return null; } if(winW() > winsW) { window.onload = function(){document.getElementById("bg-pruh").style.width=+winW()+'px' ; document.getElementById("clouds").style.width=+winW()+'px' ;}; } else if('946px' > winW()){ window.onload = function(){document.getElementById("palm").style.width='946px' ; document.getElementById("bg-pruh").style.width='946px' ; document.getElementById("clouds").style.width='946px' ;}; } else{ window.onload = function(){document.getElementById("palm").style.width=+winW()+'px' ; document.getElementById("bg-pruh").style.width=+winsW()+'px' ; document.getElementById("clouds").style.width=+winsW()+'px' ;}; } </script> Moderátor Str4wberry: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Tori Profil |
#2 · Zasláno: 18. 9. 2010, 19:02:40
řádek 17: winsW je nedefinovaná proměnná, místo volání fce.
btw taky by šlo ty hodnoty z funkcí winW() a winsW() někam uložit a použít pak proměnné, místo x volání stejné fce. |
||
Karel25 Profil * |
#3 · Zasláno: 18. 9. 2010, 20:58:07
Diky, ale můj problém to nevyřešilo, stale to vyhodnocuje až else i když by to mělo vyhodnotit else if.
|
||
_es Profil |
#4 · Zasláno: 18. 9. 2010, 21:10:47
Karel25:
Nikto tu nie je jasnovidec, aby z toho škaredého kódu pochopil, čo to má robiť a nerobí. Skús to prepísať do nejakého normálnejšieho tvaru. Prečo napríklad do window.onload nepriradíš len jednu funkciu, ktorá spraví všetko, čo treba?
|
||
Tori Profil |
#5 · Zasláno: 18. 9. 2010, 21:58:13
A možná kdybyste mohl upřesnit, které else if se nevyhodnocuje, ve funkci nebo mimo? Jestli jsem to správně pochopila, ve funkci jde o detekci prohlížeče resp.podporu DOM, takže ve kterém prohlížeči to funguje jinak, než čekáte?
|
||
Karel25 Profil * |
#6 · Zasláno: 18. 9. 2010, 22:24:15
Tento script má zjistit šířku okna a šířku dokumentu u jednotlivých prohlížečů. Podle toho má pak vyhodnotit jak široký bude obsah. Když bude okno širší než dokument, tak se část obsahu nastaví na šířku okna. jinak pokud je okno menší než 946px tak se všechny části obsahu nastaví na 946px(to právě prohlížeče IE8, Chrom a Mozila vynechávají) jinak nastaví vše podle šířky okna ( mam tam chybu
else{ window.onload = function(){document.getElementById("palm").style.width=+winW()+'px' ; document.getElementById("bg-pruh").style.width=+winsW()+'px' ; document.getElementById("clouds").style.width=+winsW()+'px' ;}; else{ window.onload = function(){document.getElementById("palm").style.width=+winW()+'px' ; document.getElementById("bg-pruh").style.width=+winW()+'px' ; document.getElementById("clouds").style.width=+winW()+'px' ;}; jinak díky, ze se tím zabýváte, pokusím se to nějak přepsat, ale javascriptem se zabývám jen velmi krátce a zatím ho mos neovládám, takže jsem rád, že to alespoň částečně funguje a zatím se nezabývám čistotou kódu. Jinak ještě jednou díky. |
||
_es Profil |
#7 · Zasláno: 18. 9. 2010, 22:37:45
Karel25:
Také veci by mali byť riešené v CSS a nie cez JS. Čo ak si niekto zmení veľkosť okna až dodatočne? Okrem pixelov sú aj iné jednotky. |
||
Karel25 Profil * |
#8 · Zasláno: 18. 9. 2010, 23:05:37
Můžu se zeptat, jak by jste to udělal v CSS?
|
||
_es Profil |
#9 · Zasláno: 18. 9. 2010, 23:24:03
|
||
Karel25 Profil * |
#10 · Zasláno: 18. 9. 2010, 23:29:38
Ty se ale při různých velikostech okna zobrazují různě.
|
||
Karel25 Profil * |
#11 · Zasláno: 18. 9. 2010, 23:34:45
Navíc nemůžu při velikovti okna menší než 946px nastavit, že velikost dokumentu bude přesto velká právě těch 946px. Ale stejně děkuji za odpovědi.
|
||
_es Profil |
#12 · Zasláno: 18. 9. 2010, 23:34:52
Karel25:
„Ty se ale při různých velikostech okna zobrazují různě.“ Aké rozmery? Čoho? Ako rôzne? Ako vyzerá kód? |
||
_es Profil |
#13 · Zasláno: 18. 9. 2010, 23:38:04
Karel25:
„nemůžu při velikovti okna menší než 946px nastavit, že velikost dokumentu bude přesto velká právě těch 946px.“ min-height, min-width. |
||
Karel25 Profil * |
#14 · Zasláno: 18. 9. 2010, 23:58:28
<div style="width: 100%"><div> |
||
Karel25 Profil * |
#15 · Zasláno: 19. 9. 2010, 10:59:16
Díky moc zaradu nakonec jsem to pro IE obešel
_width: expression(document.body.clientWidth < 946? "946px" : document.body.clientWidth ); |
||
Časová prodleva: 14 let
|
0