IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Explication sur un code pour un compteur


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Explication sur un code pour un compteur
    Bonnjour a tous,
    Voila j'ai récuperer un code javascript sur le net, et je voudrais quelque explication dessus:
    - Comment le remetre a zéro?
    - Est ce qu'il y a possibiliter de le remetre a zéro tous les X jours?
    - Ou si vous voyer encore quelque éxplication a me donner je suis preneur

    Voila le code en question qui va dans la balise "HEAD"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
      <style>
    .counter{
    background-image: url('http://fonds.toutimages.com/fo_beige/beige048.gif');
    color:blue;
    font-weight:bold;
    }
      </style>
      <script>
    expireDate = new Date
    expireDate.setMonth(expireDate.getMonth()+6)
    jcount = eval(cookieVal("jaafarCounter"))
    jcount++
    document.cookie = "jaafarCounter="+jcount+";expires=" + expireDate.toGMTString()
    function cookieVal(cookieName) {
    thisCookie = document.cookie.split("; ")
    for (i=0; i<thisCookie.length; i++){
    if (cookieName == thisCookie[i].split("=")[0]){
    return thisCookie[i].split("=")[1]
    }
    }
    return 0
    }
    function page_counter(){
    for (i=0;i<(7-jcount.toString().length);i++)
    document.write('<span class="counter">0</span>')
    for (y=0;y<(jcount.toString().length);y++)
    document.write('<span class="counter">'+jcount.toString().charAt(y)+'</span>')
    }
      </script>
    Merci de vos réponse

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    UP!!

    Personne peut m'eclairer?

  3. #3
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function cookieVal(cookieName){
    	var thisCookie = document.cookie.split("; ");
    	for(i=0; i<thisCookie.length; i++){
    		if(cookieName == thisCookie[i].split("=")[0]){
    			return thisCookie[i].split("=")[1]; // Si y'a un cookie nommé jaafarCounter, on retourne sa valeur
    		}
    	}
    	return 0; // Sinon on retourne 0 (initialisation)
    }
    function page_counter(){ // Compteur basé sur 1 million, ce script affiche le nombre de 0 compensatoires exemple : 0002134, ceci dit, je trouve ça pas très bien écrit.
    	for (i=0;i<(7-jcount.toString().length);i++)
    		document.write('<span class="counter">0</span>')
    	for (y=0;y<(jcount.toString().length);y++)
    		document.write('<span class="counter">'+jcount.toString().charAt(y)+'</span>')
    }
     
    var expireDate = new Date; // On définie la variable expireDate en type date
    expireDate.setMonth(expireDate.getMonth()+6); // On définie le mois de expireDate au mois d'aujourd'hui + 6 donc on a la date dans 6 mois --> Problème : Si on est le 31 Mars, il n'y aura jamais de 31 Septembre
    var jcount = eval(cookieVal("jaafarCounter")); // On récupère le compteur stocké en cookie, la valeur ou 0
    jcount++; // On ajoute 1 à cette valeur
    document.cookie = "jaafarCounter="+jcount+";expires=" + expireDate.toGMTString(); // On sauvegarde la valeur dans un cookie nommé jaafarCounter ou le cookie existant
    // Par contre on met une date d'expiration à aujourd'hui + 6 mois.. la durée de vie max, c'est pas 1 mois ?
    page_counter();

    Pour remettre à zéro, tu exécutes ça ou tu suppr tes cookies
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.cookie = "jaafarCounter=0;expires=" + expireDate.toGMTString();
    Pour remettre à zéro chaque jour ? Dans cookieVal(), tu récupères la valeur de expires, tu fais - 6 mois et tu compares avec la date d'aujourd'hui..

    Voilà, je te laisse le faire.. Ne pas te mâcher le boulot, c'est pour ton bien, pour que tu progresses

    Allez bon courage

Discussions similaires

  1. demande d'explication sur un code
    Par Zilfi63 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/06/2009, 17h05
  2. explication sur un code perl
    Par Melvine dans le forum Langage
    Réponses: 5
    Dernier message: 05/10/2006, 16h32
  3. Explication sur du code javascript
    Par griese dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/07/2006, 09h40
  4. cherche explication sur du code
    Par abdoulzak dans le forum Langage
    Réponses: 1
    Dernier message: 06/07/2006, 10h23
  5. besoin d'explications sur un code
    Par NAHIAG dans le forum C
    Réponses: 8
    Dernier message: 28/05/2006, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo