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 :

Vote avec images


Sujet :

JavaScript

  1. #1
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut Vote avec images
    Bonjour,
    Voila je veut realiser un systeme de vote sur mon site.
    Le systeme en tant que tel ne pose aucun probleme, mais je veut en faite mettre des petites etoiles pour representer la note.
    Et donc quand on va voter que selon ou on se trouve le nombre d'etoile s'allume en fonction de la note que l'on va attribuer.
    Et je n'arrive pas a voir comment faire ceci.
    Merci beaucoup
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    on peut imaginer d'avoir une variable qui contient le nombre d'étoiles...

    ensuite plusieurs possibilités, soit tu as autant d'images que d'étoiles
    1ere image: 1star.jpg (une etoile)
    2eme : 2star.jpg (deux étoiles)
    etc ...

    puis une balise img id= 'imgvote' dont tu détermines le src
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var nbretoiles =2
    document.getElementById('imgvote').src=nbretoiles+"star.jpg"
    ou alors une seule image d'étoile et dans une boucle sur nbretoiles tu crées dynamiquement avec DOM des images sur la page ...

    entre autres possibilités ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Hum je craint que mon truc n'ai mal ete comprit.
    En faite ce que je veut c'est donc on a par exemple 5 etoile grises sur la page, et quand on vient voter donc quand on est sur les etoiles grise, les etoiles de la premiere jusqu'a celle ou on se trouve devienne par exemple jaunes.
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Il te faut :



    Bon courage.

  5. #5
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Oui tout ca ca va, mais la ou je butte c pour faire que le nombre d'etoiles s'allume
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    crées :
    - 5 etoiles jaunes : jaune1.jpg,...., jaune5.jpg ;
    - 5 etoiles grises : grise1.jpg,...., grise5.jpg.
    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
    30
    31
    32
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function etoile(n)
    {
     var i;
     for (i=1;i<=n;i++)
     {
       document.getElementById("etoile"+i).src = "jaune" + i + ".jpg";
     }
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <img id="etoile1" src="grise1.jpg" onclick="etoile(1)">
    <img id="etoile2" src="grise2.jpg" onclick="etoile(2)">
    <img id="etoile3" src="grise3.jpg" onclick="etoile(3)">
    <img id="etoile4" src="grise4.jpg" onclick="etoile(4)">
    <img id="etoile5" src="grise5.jpg" onclick="etoile(5)">
     
    </body>
     
    </html>

  7. #7
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Ah oui! Merci beaucoup!
    Voila ce que ca donne un peu modifier pour faire ce que je voulais:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function etoilea(n)
    {
     var i;
     for (i=1;i<=n;i++)
     {
       document.getElementById("etoile"+i).src = "jaune.gif";
     }
    }
    function etoilee(n)
    {
     var i;
     for (i=1;i<=n;i++)
     {
       document.getElementById("etoile"+i).src = "grise.gif";
     }
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <img id="etoile1" src="grise.gif" onclick="etoilea(1)" onmouseover="etoilea(1)" onmouseout="etoilee(1)"/>
    <img id="etoile2" src="grise.gif" onclick="etoilea(2)" onmouseover="etoilea(2)" onmouseout="etoilee(2)"/>
    <img id="etoile3" src="grise.gif" onclick="etoilea(3)" onmouseover="etoilea(3)" onmouseout="etoilee(3)"/>
    <img id="etoile4" src="grise.gif" onclick="etoilea(4)" onmouseover="etoilea(4)" onmouseout="etoilee(4)"/>
    <img id="etoile5" src="grise.gif" onclick="etoilea(5)" onmouseover="etoilea(5)" onmouseout="etoilee(5)"/>
     
    </body>
     
    </html>
    Mais en faite j'ai un petit probleme entre deux images j'ai un trou et ce n'est pas top car du coup ca fait sauter le truc essayer vous verrez.
    Comment eviter cela?

    Et egalement comment faire pour qu'un foit qu'on a cliquer il ne se passe plus rien quand on va sur les etoiles. Car j'ai essayer ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("etoile"+i).onmouseover = "";
    document.getElementById("etoile"+i).onmouseover = "";
    Mais ca ne donne pas grand chose ca ne marche qu'a moitier

    Merci
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Pas très élégant mais efficace :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    flag = new Array(false, false, false, false, false);
    function Clic(n)
    {
     flag[n-1] = true;
    }
     
    function etoilea(n)
    {
     var i;
     if (!flag[n-1])
     {
       for (i=1;i<=n;i++)
       {
         document.getElementById("etoile"+i).src = "jaune.gif";
       }
     }
    }
     
    function etoilee(n)
    {
     var i;
     if (!flag[n-1])
     {
       for (i=1;i<=n;i++)
       {
         document.getElementById("etoile"+i).src = "grise.gif";
       }
     }
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <img id="etoile1" src="grise.gif" onclick="Clic(1); etoilea(1)" onmouseover="etoilea(1)" onmouseout="etoilee(1)"/>
    <img id="etoile2" src="grise.gif" onclick="Clic(2); etoilea(2)" onmouseover="etoilea(2)" onmouseout="etoilee(2)"/>
    <img id="etoile3" src="grise.gif" onclick="Clic(3); etoilea(3)" onmouseover="etoilea(3)" onmouseout="etoilee(3)"/>
    <img id="etoile4" src="grise.gif" onclick="Clic(4); etoilea(4)" onmouseover="etoilea(4)" onmouseout="etoilee(4)"/>
    <img id="etoile5" src="grise.gif" onclick="Clic(5); etoilea(5)" onmouseover="etoilea(5)" onmouseout="etoilee(5)"/>
     
    </body>
     
    </html>

  9. #9
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Eu j'ai tester ca fait comme avec ma methode.
    Ca ne marche qu'a moitier
    Et reste toujours le probleme des espace entre les images.
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  10. #10
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    inverse l'appel des fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    onclick="etoilea(1); Clic(1)"
    onclick="etoilea(2); Clic(2)"
    onclick="etoilea(3); Clic(3)"
    ...
    pour ce qui est des espaces je crois que l'ajout d'un doctype peut résoudre le problème

Discussions similaires

  1. [CSS] débutante : un entête fixe avec image dans le CSS
    Par khany dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/06/2005, 15h23
  2. projet de base Interbase 7.5 avec images
    Par KRis dans le forum InterBase
    Réponses: 8
    Dernier message: 13/06/2005, 10h17
  3. alignement input avec image
    Par Shabata dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/02/2005, 09h45
  4. Formulaire et bouton submit avec image mapée
    Par dody dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/12/2004, 16h00
  5. boîte de dialogue avec image de fond + texte
    Par Eugénie dans le forum MFC
    Réponses: 13
    Dernier message: 31/08/2004, 13h32

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