Diskuze: Problém, JS mi nefunguje na webu;
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 21 zpráv z 21.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Spíš sem dej kus kódu v JS, který ti nefunguje.
Takhle z toho nic moc nepoznáme.
Pokud používáš Chrome, tak se podívej do konzole (Ctrl + shift + J ->
tab Console). Tam se logují chyby JavaScriptu a je to hodně užitečný
nástroj pro debugování.
Ahoj, no, já jsem zkoušel kód na změnu formulářových polí atd. třeba na změnu rámečku a poté kontrolu zadaného řetězce (emailu,jména), ale nešlo mi to, tak jsem ho smazal a začal jsem zkoušet ty nejzákladnější jako třeba:
function zmen()
{$("h1").css("color", "yellow");
}
zmen();
a nefunguje mi ani tohle, natože třeba aby něco vypsal při stisknutí tlačítka. Zkoušel jsem se koukat na debugování, ale to mi nic nehlásí.
Ale třeba tyto hodiny mi fungují:
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout(function(){startTime()},500);
}
function checkTime(i)
{
if (i<10)
{
i="0" + i;
}
return i;
}
Ale když chci změnit jakýkoliv element, nebo styly, tak mi to nejde.
Máš to v celé uzavřené v $(function(){
});
?
Je možné, že když voláš kód, tak JQuery ještě není načtené.
Hádám, že v době, kdy se spustil tvůj skript, ještě nebyly načtené elementy, a tak žádné "h1" ještě neexistovalo. Máš 2 možnosti, jak spustit skript až po načtení HTML:
1. celý skript (nebo jen volání funkce "zmen()") dát do události DOM ready nebo window load.
Document ready:
// jQuery
function zmen()
{$("h1").css("color", "yellow");
}
$(document).ready(function() {
zmen();
});
// speciální zkrácený zápis v jQuery
$(function() {
zmen();
});
// prostý JavaScript
document.addEventListener('DOMContentLoaded', function() {
zmen();
}, false);
Window on load:
// jQuery
$(window).load(function() {
zmen();
});
// prostý JavaScrit
window.addEventListener("load", function() {
zmen();
}, false);
Rozdíl mezi události DOM ready a Window onload je ten, že DOM ready se zavolá hned, jakmile je dostupný HTML dokument (a je možné s ním dál manipulovat). Window onload se volá až když je načtená celá stránka.
2. vložit JavaScript pod HTML element (třeba na konec stránky). Tak se zavolá JavaScript až po načtení veškerého obsahu nad ním.
Mimochodem druhá ukázka funguje, protože se funkce "startTime" volá každých 500ms. Když poprvé není načtená stránka, nic neudělá, ale po 500ms se zavolá znovu a to už stránka načtená je. Proto ten skript funguje jak má.
Musíš ještě uzavřít závorky (funkce a volání metody load). http://jsfiddle.net/jFNTC/1/ Tady to funguje. Pokud ti to ani tak nejde, podívej se znovu do konzole, jestli tam náhodou není nějaký error. Případně to může ovlivňovat ještě CSS.
import jQuery knihovny
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
Zkoušel jsem tento odkaz a dokonce i ten z code.jquery webu, ale ani na jednom to nejde, takže problém nebude v tomhle
Pořád jsi neudělal to co ti psal Drahomír Hanák.
Koukni se do konzole + doplň ukončovací závorky .. ta fce má to být
takto
$(window).load(function() {
zmen();
});
Jinak, můžeš k časování využít ještě
setInterval(function(){
...
},1000); //milisekundy
Moc díky za opětovné upozornění, už to funguje:) Já jsem si všiml pouze těch složených závorek, na ty kulaté jsem zapomněl. Ještě jednou díky tobě i Drahomír Hanák .
Zobrazeno 21 zpráv z 21.
