Bonjour tout le monde !
Voila je debute en JS et je viens de réaliser un système de notifications en PHP. Ce que je veux c'est que ces notifications disparaissent au bout de 3 secondes.
mais le probleme c'est que mon element est: Undefined
Voila mon code:
JS
var notification = document.getElementsByClassName('notification-container');
setTimeout(function(){ notification.style.right = "-60px"; }, 2900);
setTimeout(function(){ notification.style.opacity = 0; }, 3000);around
HTML
<div class="notification-container">
<div class="notification-block notification-success" id="success">
<li class="notification">Ma notif</li>
</div>
</div>
Voici mes erreurs:
Uncaught TypeError: Cannot set property 'right' of undefined(anonymous function) | ET | Uncaught TypeError: Cannot set property 'opacity' of undefined
Salut,
L'erreur parle d'elle-même: ton élément est undefined.
Pourquoi n'utilises-tu pas jQuery plutôt ? C'est bien plus simple pour faire ce genre d'opérations.
Sinon ce que tu peux essayer de faire, c'est ceci:
HTML:
<div id="notification-container">
<ul class="notification-block notification-success" id="success">
<li class="notification">Ma notif</li>
</ul>
</div>
JS:
var notif = document.getElementsById('notification-container');
setTimeout(function(){
notif.style.right = "-60px";
}, 2900);
setTimeout(function(){
notif.style.opacity = 0;
}, 3000);
Salut,
Ton script se charge surement avant l'affichage de ta div "notification-container", d'où le undefined.