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

jQuery Discussion :

Affichage Tooltip temporisée


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Points : 32
    Points
    32
    Par défaut Affichage Tooltip temporisée
    Bonjour,

    J'ai mis en place un tooltip sur mon site, de manière à lorsqu'un utilisateur clique sur le bouton "add_to_cart", il apparait un tooltip "article ajouté".

    Par javascript by class=.addtocart


    Besoin d'aide s'il vous plait.

    Avec ce code, cela fonctione très bien, mais les tooltip ne disparaissent pas comme prévu.

    EDIT =
    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
    <script type="text/javascript">
    $(document).ready(function(){
     
      $(".add_to_cart").on('click', function(){
        // Show our tooltip on hover
        hideTimeout($(this).parent().attr('id'));
        $(this).parent().find(".tooltip").show();
      })
          // Hide our tooltip
        function hideTimeout(eltid ) { this.pass=eltid;
        setTimeout(function(){
        console.log(this.pass);
        $('#'+eltid).find(".tooltip").hide()}, 300);}
     
    });
    </script>
    .

    Merci beaucoup,

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Petit Up :

    J'ai essayé de m'en sortir par tous les moyens mais j'obtiens rien de parfait.

    Soit le show fonctionne mais pas le hide. Soit tout fonctionne mais pas au bon endroit (juste sous le bouton), soit le code fonctionne que pour le premier input.

    J'ai fini par trouver ça :

    https://jsfiddle.net/osp92nbL/

    Mais je n'arrive pas a le faire fonctionner dans un code php comme celui ci

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    foreach($result as $row)
    	{
    		$output .= '
    		<div id="produit">
            <li>'.$row["name"].'</li>
    <img src="images/'.$row["image"].'" width="40" height="40"/>
              <li><strong>'.$row["price"].'</strong></li>
    		  <input type="hidden" name="quantity" id="quantity' . $row["id"] .'" value="1" />
                	<input type="hidden" name="hidden_name" id="name'.$row["id"].'" value="'.$row["name"].'" />
                	<input type="hidden" name="hidden_price" id="price'.$row["id"].'" value="'.$row["price"].'" />
            <button name="add_to_cart" id="'.$row["id"].'" class="button add_to_cart" onclick="var target=childNodes[1];target.style.display="block";setTimeout(function(){target.style.display="none"},300)" />Ajouter<div id="tooltip" class="tooltip"  style="display:none;">Article ajoute</div></button>
    		</div>
    		';
    	}
    Quelqu'un pour m'aider à l'implémenter ou a trouver une autre solution si cela est impossible s'il vous plait ? Le jsfiddle montre exactement ce que je souhaite obtenir

    Merci

  3. #3
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    Par défaut
    des ToolTip il en existe des "millions" => https://github.com/search?l=JavaScri...e=Repositories

    mais pour ce genre de cas il faudrait mieux utiliser un toster => https://github.com/search?l=JavaScri...e=Repositories
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Non, Je n'en ai trouvé aucun qui puisse répondre à mon probleme, car ils répondent pas aux trois critères listés :

    1- Input type button avec la meme class (id étant une variable).
    2- Show et Hide automatiquement après un délai, donc un seul clik => show....hide.
    3-Vu qu'il y a plusieurs type button, il faut que chaque "tooltip" se place sous le bon bouton.

    Le code parfait, je m'attends pas à le trouver hein, je dis juste que meme en trouvant trois codes séparés, je n'arrive pas à obtenir ce que je souhaite.

    Merci en tout cas d'avoir pris le temps de te pencher sur mon problème et d'avoir tenté une solution.

  5. #5
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    Par défaut
    Comprends pas trop, ..
    tu pars d'un bout de code en jQuery, puis tu montre un exemple en JS pur (sur jsfiddle) en mettant du PHP , puis maintenant il a "des critères"...

    c'est pas tres cohérent.. et du coup je ne vois pas du tout ce que tu recherche à obtenir
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Ce que je cherche à obtenir => https://jsfiddle.net/osp92nbL/

    Le code php c'est pour mon site, c'est bien beau que le jsfiddle fonctionne, mais si il marche pas dans mon site ca sert a rien.

    Je suis parti à la base de jquery oui, mais j'obtiens pas le résultat que je veux : https://jsfiddle.net/L4q2fvtx/1/

  7. #7
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    1) apprends les bases, on te le répète depuis 2 jours sur le chat
    2) ton code est illisible et incorrect. apprends à mettre du JS dans un code externe et pas dans les div c'est illisible et pas maintenable. Tous tes id sont identiques

    Ce code par exemple, je ne cherche meme pas à comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <button name="add_to_cart" id="3" class="button add_to_cart" onclick="var target=childNodes[1];target.style.display='block';setTimeout(function(){target.style.display='none'},300)" />Ajouter<div id="tooltip" class="tooltip"  style="display:none;">Article ajoute</div></button>
    <button name="add_to_cart" id="3" class="button add_to_cart" onclick="var target=childNodes[1];target.style.display='block';setTimeout(function(){target.style.display='none'},300)" />Ajouter<div id="tooltip" class="tooltip"  style="display:none;">Article ajoute</div></button>
    <button name="add_to_cart" id="3" class="button add_to_cart" onclick="var target=childNodes[1];target.style.display='block';setTimeout(function(){target.style.display='none'},300)" />Ajouter<div id="tooltip" class="tooltip"  style="display:none;">Article ajoute</div></button>
    Comme dit @psychadelic ce n'est pas clair, on est plusieurs sur le chat à avoir essayé de t'aider et demander d'être clair dans ta demande ... mais tu fais comme tu veux c'est pas obligatoire de se faire comprendre...

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Les seules personnes qui ont essayé de m´aider sur le chat n'ont pas réussi a obtenir non plus ce que j'essaye d'obtenir.

    Le code que tu me montres, j'ai expliqué 40 fois que c'est la seule solution qui marche reellement pour l'instant. (Que dans le jsfiddle et pas sur ma page php malheuresement). Alors oui c'est tres moche, tres degueulasse mais ca fonctionne. J'en suis pas fier, je cherche encore d´autres solutions.

  9. #9
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    J’ai repris le code de ton fiddle :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <button name="add_to_cart" class="button add_to_cart">
      Ajouter
      <div class="tooltip">Article ajoute</div>
    </button>
    <button name="add_to_cart" class="button add_to_cart">
      Ajouter
      <div class="tooltip">Article ajoute</div>
    </button>
    <button name="add_to_cart" class="button add_to_cart">
      Ajouter
      <div class="tooltip" >Article ajoute</div>
    </button>
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    .tooltip {
      display: none;
      font-size: 10px;
      color: #FFF000;
      position: absolute;
      padding: 3px 7px;
      border: 1px solid #FFFFFF;
      background: #1E90FF;
      z-index: 9999;
    }
     
    .tooltip::before {
      content: "\2713\00A0";
      color: #FFF000;
    }
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    jQuery(document).ready(function($) {
      "use strict";
     
      $(".add_to_cart").on("click", function(event) {
        var target = $(this).find(".tooltip");
        target.css("display", "block");
        setTimeout(function() {
          target.css("display", "none");
        }, 300);
      });
    });

    Avec ça tu as un HTML bien plus lisible et ça te donne une bonne base pour rajouter les id qui te manquent (si tu les juges toujours nécessaires) avec PHP.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Le code est plus visible, merci. Ca fera plaisir à Nikopol
    Mais il ne fonctionne pas du coup.

    En revanche, j'ai réussi :

    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
    <script>
    $(document).ready(function(){
     
      $(".add_to_cart").on('click', function(){
        // Show our tooltip on click
        $(this).get(0).hideIt = hideTimeout($(this).parent().attr('id'));
        $(this).parent().find(".tooltip").show();
      });
          // Hide our tooltip
        function hideTimeout(eltid ) { this.pass=eltid;
        setTimeout(function(){
        $('#'+eltid).parent().find(".tooltip").hide();}, 300);}
     
    });
    </script>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage Tooltip dans un Drag & Drop
    Par spartacus13012 dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 09/06/2011, 11h58
  2. forcer affichage tooltip de CMyEdit
    Par lucky dans le forum MFC
    Réponses: 4
    Dernier message: 25/09/2009, 09h56
  3. [Swing] Vitesse affichage tooltip
    Par Pill_S dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 23/09/2006, 11h09
  4. Problème affichage tooltip
    Par bouchette63 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/05/2006, 16h39
  5. [Pmode] Affichage variable + temporisation
    Par Onil_ dans le forum Assembleur
    Réponses: 4
    Dernier message: 26/04/2006, 15h18

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