-
Fototrend
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
btz
addikt
A kódnak ebben a változatában kicseréltem a
$("#cookiebutton").click(function() {
$("#cookie-check").load(" #cookie-check > *");
});funkciót
$("#cookiebutton").click(function() {
if (document.cookie.indexOf('tesztkuki') == -1 ) {
document.getElementById('cookie-check').innerHTML = "<div id='cookie-want'>Press the button, if you want a cookie<br /><button id='cookiebutton' onclick='wantCookie()'>I want a cookie</button><br /></div> <br />The cookie now DOES NOT exist !";
} else {
document.getElementById('cookie-check').innerHTML = "<div id='cookie-give-back'>Press the button, if you want give back the cookie<br /><button id='cookiebutton' onclick='givebackCookie()'>I give back the cookie</button><br /></div> <br /><br />The cookie now exist !<hr />";
}
});funkcióra.
Így most az első klikk hatására visszaírja a divet a megfelelő tartalommal, de még egy kattintást már nem enged, másodjára nem változik a div a gombnyomásra. -
cattus
addikt
Az első hibát ott véted, hogy a givebackCookie függvényben nem nullázod a cookie értékét, így az if-ednek mindig ugyanaz az ága fog lefutni.
A div újratöltését kezelő kódot meg inkább nem kísérlem meg megérteni és debugolni, meg amúgy is jQuery-t már nem illik 2019-ben használni.

Működő kód:
function wantCookie() {
document.cookie = "tesztkuki=Létezik";
loadDiv();
}
function givebackCookie() {
document.cookie = "tesztkuki=; expires=Thu, 18 Dec 2013 12:00:00 UTC";
loadDiv();
}
window.addEventListener("load", loadDiv);
function loadDiv() {
if (document.cookie.includes('tesztkuki')) {
document.getElementById('cookie-check').innerHTML = "<div id='cookie-want'>Press the button, if you want a cookie<br /><button id='cookiebutton' onclick='wantCookie()'>I want a cookie</button><br /></div> <br />The cookie now DOES NOT exist !";
} else {
document.getElementById('cookie-check').innerHTML = "<div id='cookie-give-back'>Press the button, if you want give back the cookie<br /><button id='cookiebutton' onclick='givebackCookie()'>I give back the cookie</button><br /></div> <br /><br />The cookie now exist !<hr />";
}
}Itt minden cookie változtatás után újratölti a div tartalmát. A
window.addEventListener("load", loadDiv);pedig azért felel, hogy az oldal betöltésekor is fel legyen töltve a div.indexOf helyett használj includes-ot, ha csak annyit akarsz megtudni, hogy tartalmazza-e az adott dolgot.
Továbbá ahogy most a div tartalmát kitöltöd, az nem túl elegáns / karbantartható / error-safe. Használj createElement-et és appendChild-ot.
A fenti kódodat megfixáltam, de erősen ajánlom a fentiek figyelembevételét. Sok későbbi szenvedést tudsz megspórolni.
+1: Ha nem kötelező cookie-t használni, akkor ajánlom inkább a localStore-et.
Új hozzászólás Aktív témák
- Friss előzetes érkezett az új Mortal Kombat II filmhez
- Hearthstone: Heroes of Warcraft - free online CCG
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Autós topik
- Apple asztali gépek
- One otthoni szolgáltatások (TV, internet, telefon)
- Motorola Signature - mielőtt aláírnád...
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Diablo II: Classic és Resurrected
- Teljes verziós, ingyenes mobil játékok és alkalmazások
- További aktív témák...
- Eladó AMD Ryzen 7 5700 X / RTX 4060 Gamer PC
- XPS 15 9520 27% 4K+ IPS érintő i7-12700H RTX 3050Ti 32GB 1TB NVMe ujjolv IR kam gar
- T15 Gen2i 27% 15.6" FHD IPS i7-1165G7 16GB 512GB NVMe ujjlolv IR kam gar
- S21 Dobozában
- Ryzen 7 7800X3D +hűtött VRM-es B650M lap +32GB DDR5 RAM! GAR/SZÁMLA (a Te nevedre kiállítva)!
- Új Dell 14 Precision 5490 WUXGA IPS Ultra 7 165H 32GB 1TB Intel Arc + Nvidia RTX 2000 Win11 Garancia
- Dell Alienware AW2521HFLA 25" 240Hz Gamer Monitor 27% ÁFÁS - 0248BE
- Bomba ár! Dell Latitude E6430 - i5-3GEN I 4GB I 320GB I HDMI I 14" HD+ I W10 I Garancia!
- ÚJ Lenovo ThinkPad X13 Gen 5 - 13.3" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2 év garancia
- Asus Vivobook S16 S3607QA-PL018W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

