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 :

Variable affichée qui se met à jour suivant une fonction


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Par défaut Variable affichée qui se met à jour suivant une fonction
    Bonjour,

    Je cherche à mettre en place une fonction qui me paraissait simple au départ, mais qui finalement me laisse sur le carreau.

    Je souhaite afficher une valeur numérique égale à 20.
    Bien entendu, cette valeur sera amenée à changer suivant des événements et la valeur devra se mettre à jour à chaque fois pour que l'utilisateur sache combien il lui reste.

    J'ai donc fait ceci :

    Et c'est tout
    Parce que le reste, je n'y arrive pas (j'ai essayé douze mille trucs différents sans succès).

    La fonction est appelée sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    onclick="depense(-8)" // on dépense 8 €
    Ou encore :
    onclick="depense(2)" // on récupère 2 €

    Il faut donc que mon porte-monnaie soit visible pour l'utilisateur, et que le décompte soit tenu à jour au fur et à mesure des dépenses, sachant qu'il y a de multiples "bouton onclick", chacun avec une dépense différente.

    Donc en fait, si j'ai bien compris, il me faut mettre en place la fonction depense(), mais je n'y arrive pas.

    Merci d'avance et encore pour votre aide.

  2. #2
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonsoir,

    Au premier abord, voici ce à quoi je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function depense(nb) { valeur = valeur + nb; }

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonsoir,

    Citation Envoyé par maryliseduteil Voir le message
    je n'y arrive pas (j'ai essayé douze mille trucs différents sans succès).
    peut-on voir quelques uns de ces 12000 trucs pour que l'on puisse t'aider ?

    La fonction est appelée sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    onclick="depense(-8)" // on dépense 8 €
    Ou encore :
    onclick="depense(2)" // on récupère 2 €
    les événements javascript s'insèrent dans les balises HTML. Il te manque donc le code HTML.

  4. #4
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Par défaut
    Merci pour vos réponses.

    @Eleydet : je vais voir avec ça, mais pas sûr d'arriver à l'implémenter.

    @Auteur : Oui je les ai mis dans des éléments html évidemment, là sur le topic j'ai juste mis la déclaration du onclick.

    Pour les fonctions que j'avais essayé, étant assez nulle en javascript, et que ça ne donnait aucun résultat concret, j'ai tout effacé.

    En gros ça donnait quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var depart = 20;
    alert(depart); // ça c'est pour vérifier que ça fonctionne bien, mais je ne compte pas le garder
     
    var actuelle = depart + depense(modif) ;
    alert(actuelle);
     
    function depense(modif) 
    {
       var resultat = actuelle + modif;  
       alert(resultat);
     
    }
    Mais à part la popup qui m'affiche 20 au début, rien ne se passe ensuite à part une autre popup qui m'indique NaN.

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    J'aurais voulu aussi voir ton code HTML. Cela permet de voir comment tu as intégré ton javascript dans la page.

    Tu as une variable depart qui contient la valeur initiale => ok
    Ensuite, ce que tu dois faire : chaque fois que ton utilisateur fait un choix, appeler ta fonction depense(). Là c'est le contenu de depart que tu dois modifier puis afficher. Il y a un petit problème de logique dans ton code, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var depart = 20;
    alert("Il y a dans mon porte-monnaie " + depart + "€"); // ça c'est pour vérifier que ça fonctionne bien, mais je ne compte pas le garder
     
    function depense(modif) 
    {
       var depart = depart - modif;  
       alert("Il reste dans mon porte-monnaie " + depart + "€");
     
    }
    Comment tu intègres ça dans ta page html ?

  6. #6
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Par défaut
    Je l'intègre tout simplement avec soit un bouton, soit une image ou autre.
    J'ai choisi une image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <p><img src="image.jpg" onclick="depense(-8)" ><strong>Acheter à 8 €</strong></p>
    <p><img src="image.jpg" onclick="depense(5)" ><strong>Vendre à 5 €</strong></p>
    Je précise que ce n'est pas du tout pour faire une boutique en ligne, mais pour un petit jeu interactif.

    Je vais me pencher sur ta fonction, merci beaucoup

  7. #7
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Par défaut
    Alors ta fonction m'affiche bien la somme de départ, mais ensuite, ça m'affiche (en cliquant sur mes images avec fonction) : "Il reste dans votre porte-monnaie NaN€"

Discussions similaires

  1. Réponses: 13
    Dernier message: 01/04/2008, 09h43
  2. Afficher la date du jour dans une formule
    Par Yodaf dans le forum SharePoint
    Réponses: 3
    Dernier message: 06/08/2007, 15h15
  3. Réponses: 5
    Dernier message: 20/04/2007, 09h00
  4. Un programme qui se met à jour tout seul
    Par ElbaC dans le forum C++
    Réponses: 6
    Dernier message: 09/06/2006, 11h19
  5. Réponses: 3
    Dernier message: 18/10/2005, 15h34

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