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
řá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 *
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
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
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 *
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' ;};
tohle ma byt takhle:
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
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 *
Můžu se zeptat, jak by jste to udělal v CSS?
_es
Profil
Karel25:
Můžu se zeptat, jak by jste to udělal v CSS?
Rozmery môžeš zadávať aj v percentách.
Karel25
Profil *
Ty se ale při různých velikostech okna zobrazují různě.
Karel25
Profil *
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
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
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 *
<div style="width: 100%"><div>
to se v IE zobrazi pri kazde velikosti okna jinak velke. Tyto 2 atributy jsem neznal takze diky.
Karel25
Profil *
Díky moc zaradu nakonec jsem to pro IE obešel
_width: expression(document.body.clientWidth < 946? "946px" : document.body.clientWidth );
moc jste mi všichni pomohli, mnohokrát děkuji.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0