Autor Zpráva
jetyadam
Profil *
Dobrý den, chci se zeptat co dělám šptně v této podmínce:
<script type="text/javascript">
            $( window ).resize(function() {
                if ($( window ).resize < 900) {
                  $( "#up-menu" ).css({"background-color":"yellow","font-size":"200%"});
                  };
            });
        </script>
Jsem úplný začátečník takže tomu ještě moc nerozumim.


Pokud se chcete kouknout na webové stránky, kde mám to menu, jsou zde: Stránky.
Má se změnit vzhled toho horního menu, pokud šířka okna bude menší jak 900px
preca1
Profil
Zdravim,
v dokumentaci se dočteš, že resize je metoda, která přidává obsluhu události na element, nebo onu událost vyvolá.
Tvoje podmínka se vyhodnotí zhruba takhle: je metoda resize po tom, co jí převedu na číslo, menší než 900? Z mýho přepisu by ti mělo bejt jasný, že to nedává smysl. Jak převedeš nějakou metodu na číslo? Je to jako by si porovnával svačinu s číslama (je svačina menší než 372?).
Co zřejmě chceš je podmínka je šířka/výška okna menší než 900? K tomu by ti měla posloužit jedna z metod pracující s rozměrama. Např. if ($(window).width() < 900){...}.
Chamurappi
Profil
Reaguji na jetyadama:
($( window ).resize < 900)
Ve $(window).resize je funkce, nikoliv šířka stránky. Jakákoliv funkce nebude nikdy menší než 900.

Pokud se chcete kouknout na webové stránky, kde mám to menu, jsou zde: Stránky.
Na odkázané stránce uvedený kód nevidím. Není tam ani jQuery (framework nutný k běhu funkce $).

Já bych to řešil takhle:
window.onresize = function()
{
  document.documentElement.className = document.documentElement.clientWidth < 900 ? "pod900" : "";
};
window.onresize();
… a v CSS bych pak styloval podle třídy pod900:
.pod900 #up-menu {
  background-color: yellow;
  font-size: 200%;
}

Mimochodem, nadpis „Javascript (jquery) podmínky“ nevystihuje podstatu dotazu a tohle vlákno je duplicita, protože řeší úplně totéž, co to sousední vlákno. Nikdy nezakládej duplicity.
jetyadam
Profil *
Správny odkaz, omlovám se tohle ta stránka, dal jsem tam špatný odkaz

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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