Problem ze skryptem

Mam taki skrypt :

jQuery(window).resize(function() {
if(jQuery(window).width() > 800) {
jQuery(“nav”).removeAttr(‘style’);
parallax();
}
});

sam skrypt działa bardzo dobrze i po przeskalowaniu okna pow. zadanego punktu (800px) skrypt zaczyna działać.

Pytanie jak ten skrypt zdezaktywować poniżej 800px. Jeżeli zeskaluję okno na ok. 600px i przeładuje ręcznie mam oczekiwany efekt, bo skrypt nie ładuje się.

A jaki jest oczekiwany efekt? Co się ma dziać gdy okno ma mniejszą szerokość niż 800 ?

możesz tego spróbować ale nie gwarantuję, że zadziała xd
jQuery(window).resize(function() {
if(jQuery(window).width() > 800) {
jQuery(“nav”).removeAttr(‘style’);
parallax();
} else if( Query(window).width() <=8) {
jQuery(“nav”).attr(‘style’, ‘’);
}
});

Zadziała ale dopiero poniżej 8px :wink:
@torik zamiast usuwać cały atrybut style, CSS stamtąd przerzuć do pliku .css jako osobną klasę i przełączaj dodając lub usuwając klasę z elementu nav

1 polubienie

Tu nie chodzi o atrybut związany z NAV.

jQuery(“nav”).removeAttr(‘style’);

ma za zadanie po przeskalowaniu okna i użyciu memu mobilnego usunięcie z sekcji NAV jednego wpisu: display:none i tu działa bez zarzutu. Chodziło mi tu bardziej o skrypt parallax();
ten ma działać tylko na urządzeniu typu desktop powyżej 800px by tło headera “przesuwało sie o 50% wolniej”. Skoro działa na oknie powyżej 800PX to chciałem także ten skrypt dezaaktywować poniżej 800px. Ale jak zauważył DMQ (na to też wpadłem) muszę zmiany wymusić odpowiednią klasą z css.

czemu tak jak koń pod górę skoro można jedną komendą? :wink:
jQuery("nav").show();

Skryptów się nie aktywuje ani nie deaktywuje. Jak wykonujesz jakąś funkcję (tu: parallax();) to wykonujesz zawarte w niej instrukcje. Nie ma sposobu, żeby je cofnąć. Trzeba samodzielnie napisać instrukcje odwracające efekt. Wrzuć tu całą zawartość funkcji parallax() to zobaczymy co tam się dzieje. Bez tego możemy sobie zgadywać.

Może lepiej to zrobić w Media Query:

Ale też gdybam, co chcesz zrobić :slight_smile:.