IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: JavaScript nefunguje v Mozzila Firefox

V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
simi
Člen
Avatar
simi:10.5.2017 19:41

Ahoj lidi,

mám problém se scriptem, který má mojí navigaci dát position: absolut pokud na stránce sjedu níže. Script funguje bez problémů v Chromu a Opeře, ale Firefox ho odmítá.

Neví někdo jestli mám ve scriptu chybu, nebo Firefox něco nepodporuje.

Zde je kód:
function scrollFunction() {
var scrollPos = document.body­.scrollTop;

if (scrollPos > 40) {
document.getE­lementById("fi­xednav").style­.position = "fixed";
document.getE­lementById("fi­xednav").style­.top = "0px";

} else {
document.getE­lementById("fi­xednav").style­.position = "absolute";
document.getE­lementById("fi­xednav").style­.top = "40px";

}
}

window.onscroll = scrollFunction;

 
Odpovědět
10.5.2017 19:41
Avatar
Neaktivní uživatel:10.5.2017 20:12

Otevři Firefox stiskni F12 a zvol tab Console ... Vypiš nám co ti to hází nebo nehází za error.
Tohle by bylo skvělý, mít před vložením každého dotazu na JS. Vážně

Nahoru Odpovědět
10.5.2017 20:12
Neaktivní uživatelský účet
Avatar
Robert Poč
Člen
Avatar
Robert Poč:17.5.2017 8:13

Při zkopírování tam jsou nějaké neplatné znaky, odstraň je nebo to ručně přepiš (ne Ctrl+C, Ctrl+V).

Voláš to až po kompletním načtení stránky? Není náhodou v době volání document.body­.scrollTop UNDEFINED. Raději bych to inicializoval:

var scrollPos = 0;

a teprve po testu, že je hodnota document.body­.scrollTop platná to přiřadit.

Pokud se nepletu document.body­.scrollTop je pouze pro strict mode, pokud ho nepoužíváš, použij:

document.getElementById("body").scrollTop

Chybí závorka:

window.onscroll = scrollFunction();
 
Nahoru Odpovědět
17.5.2017 8:13
Avatar
Odpovídá na Robert Poč
Michal Žůrek - misaz:17.5.2017 8:40

1.)

Není náhodou v době volání document.body­.scrollTop UNDEFINED

ne to určitě není

2.) se striktním módem to sice nevím, ale určitě to bude fungovat s

document.body

nechápu proč body vypíráš podle ID, co když body nebude mít id body?

3.) ne, závorka tam fakt nechybí, on tu funkci nechce zavolat, on ji chce nechat zavolat při scrollu, tedy ji musí do obsluhy události předat, ne zavolat.

Jediné co pořádně dává smysl jsou ty bílé znaky a ty mu to podle mě budou způsobovat.

Editováno 17.5.2017 8:42
 
Nahoru Odpovědět
17.5.2017 8:40
Avatar
Odpovídá na Robert Poč
Michal Žůrek - misaz:17.5.2017 8:45

a ještě jak tak přemýšlím, i kdyby měl v document.body­.scrollTop při načítání undefined, tak to je jedno, protože on tu funkci nevolá v době načítání.

 
Nahoru Odpovědět
17.5.2017 8:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.