Autor | Zpráva | ||
---|---|---|---|
Pavliczeck Profil |
#1 · Zasláno: 28. 5. 2024, 17:23:29
Dobrý den,
mám tento script, který má fungova tak, že jednou za 24 hodin vyskočí návštěvníkovi vyskakovací okno s nabídkou práce. V konzoli se mi však objevuje chyba a nemohu zjistit co to znamená a jak to upravit. Umíte poradit? Děkuji. null is not an object (evaluating 'divElement.style') <script> // Získat aktuální datum a čas const now = new Date(); // Získat datum a čas z cookies, pokud existuje const lastShownDate = document.cookie.split(';').find(cookie => { const [key, value] = cookie.split('='); return key === 'lastShownDate' && value; }); const lastShownDateObject = lastShownDate ? new Date(lastShownDate) : null; // Zkontrolovat, zda div zobrazovat const shouldShowDiv = !lastShownDateObject || now.getTime() - lastShownDateObject.getTime() >= 86400000; // 24 hodin v milisekundách // Zobrazit div, pokud je to vhodné const divElement = document.getElementById('boxes'); if (shouldShowDiv) { divElement.style.display = 'block'; //null is not an object (evaluating 'divElement.style') // Nastavit datum a čas do cookies const expires = new Date(now.getTime() + 86400000); // 24 hodin v milisekundách document.cookie = `lastShownDate=${now.toISOString()}; expires=${expires.toUTCString()}; path=/`; } else { divElement.style.display = 'none'; } </script> <div id="boxes"> <div style="top: 50%; left: 50%; display: none;position:fixed" id="dialog" class="window"> <div id="san"> <a href="#" class="close agree"><img src="img/close-icon.png" width="25" style="float:right; margin-right: -22px; margin-top: -20px;"></a> <img src="img/pozorprace.png" class="praceruka"> <h1>Vyskakovací nabídka 1x za 24 hodin</h1> <p>Aktuálně hledáme <strong>kandidáty na tyto pracovní pozice</strong>:</p> </div> </div> <div style="width: 100%; font-size: 32pt; color:white; height: 100%; display: none; opacity: 0.4;" id="mask"></div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.js"></script> <script src="swcc.js"></script> <div class="web"> <h1>Vyskakovací okno na 24 hodin</h1> </div> |
||
blaaablaaa Profil |
#2 · Zasláno: 28. 5. 2024, 19:02:09
Pavliczeck:
Děje se přesně to, co to píše - divElement je v danou chvíli null. |
||
Pavliczeck Profil |
#3 · Zasláno: 28. 5. 2024, 19:34:31
A to je chyba? Podle všeho to totiž nemá na nic vliv.
|
||
RastyAmateur2 Profil * |
#4 · Zasláno: 28. 5. 2024, 22:14:35
Pavliczeck:
No jelikož element neexistuje, tak se mu nenastaví display: block a tedy vyskakovací okénko se nezobrazí a nebo naopak neskryje (záleží na výchozí hodnotě).
Jedním z řešení by bylo ten element script přesunout až pod to HTML, kde je daný div vytvořen.
|
||
Časová prodleva: 3 měsíce
|
0