| 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: 2 roky
|
|||
0