Vérifiez s’il s’agit de la première visite des utilisateurs

Je ne sais pas comment faire cela, mais ce que je cherchais à faire, c’est de lancer une simple animation jQuery telle que

$(".intro").eq(0).delay(800).animate({opacity: 0}, 1000, function() { $(this).remove() }); 

mais seulement lorsque l’utilisateur visite pour la première fois le site. Ainsi, lorsque l’utilisateur retourne à la page d’accueil, après la visite d’une sous-page, il ne voit pas l’animation à chaque fois. Cela peut-il être fait dans jQuery en créant un cookie et en le vérifiant? ou quelque chose sur ces lignes?

Tout d’abord, vous devez définir des scripts javascript simples pour «obtenir», «paramétrer» et «supprimer» les cookies. J’utilise les 3 fonctions suivantes que je viens de copier et coller dans mon prochain projet. Par conséquent, expliquer ce que fait tout va au-delà de la scope de cette réponse, sauf que setCookie définit un nouveau cookie, getCookie récupère la valeur d’un cookie basé sur une clé, et delCookie supprime un cookie donné.

 function setCookie(c_name,value,exdays){var exdate=new Date();exdate.setDate(exdate.getDate() + exdays);var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCSsortingng());document.cookie=c_name + "=" + c_value;} function getCookie(c_name){var c_value = document.cookie;var c_start = c_value.indexOf(" " + c_name + "=");if (c_start == -1){c_start = c_value.indexOf(c_name + "=");}if (c_start == -1){c_value = null;}else{c_start = c_value.indexOf("=", c_start) + 1;var c_end = c_value.indexOf(";", c_start);if (c_end == -1){c_end = c_value.length;}c_value = unescape(c_value.subssortingng(c_start,c_end));}return c_value;} function delCookie(name){document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';} 

Ensuite, dans votre fonction de préparation de document, vous voudrez vérifier si un cookie existe déjà:

 $(document).ready(function(){ //Checks if the cookie already exists if (!getCookie('firsttime')){ //Runs the code because the cookie doesn't exist and it's the user's first time $(".intro").eq(0).delay(800).animate({opacity: 0}, 1000, function() { $(this).remove(); }); //Set's the cookie to true so there is a value and the code shouldn't run again. setCookie('firsttime',true); } }); 

Désormais, si vous souhaitez réinitialiser le code d’une manière ou d’une autre (par exemple, à des fins de test, pour imiter la première fois), ouvrez simplement la console dans le volet du développeur (Ctrl + Maj + J ou F12 sous Chrome), tapez ce qui suit et appuyez sur [ ENTRER]

 delCookie('firsttime');