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 :

Affichage d'un petit code en javascript


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 88
    Par défaut Affichage d'un petit code en javascript
    Bonjour,

    J'ai un code tres simple en javascript qui me permet de faire un diaporama.
    Mon probleme c'est que lorsque je le teste chez moi, sur dd ca fonctionne mais une fois en ligne il ne fonctionne pas.

    Pourriez vous m'aider ?

    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
    <script language="JavaScript">
     
    var i = 1;
     
    function affiche(numero) {
      i = numero;
      if (i==1) i=2;
        if (i==19) i=18;
    document.img.src = i+'.png';
     
    }
    </script>
     
    <body background="fond.png">
    <div align="center"> 
    <img name="img" src="2.png""><br>
    <a OnClick="affiche(i-1)"><img src="f1.png"></a>
    <a OnClick="affiche(i+1)"><img src="f2.png"></a>
    <a href="http://bull100.pagesperso-orange.fr/marion/marion/tome1.html">sortir</a>
    </div>
    </body>
    et en ligne : http://bull100.pagesperso-orange.fr/bd/page.html

  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,

    Je suis allé sur le site http://bull100.pagesperso-orange.fr/bd/page.html avec Firefox, j'ai appuyé simultanément sur les touches Ctrl et U du clavier pour afficher le code source de la page, et j'ai vu des lignes de code en rouge. Cela qui signifie que le code comporte des erreurs. Conseils :
    • Respecter la structure d'une page html.
    • Vérifier que les extensions des noms d'images sont en minuscule.
    • Préférer un identifiant plutôt qu'un nom pour l'image.

  3. #3
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Le problème vient des scripts ajoutés dans ta version en ligne (affiche le code de ta page dans le navigateur) qui modifient la valeur de ta variable i (qui chez moi vaut 64 et non 1). Cette modification est probablement cachée dans le script chargé dynamiquement par cette ligne pour les statistiques d'orange:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write(unescape("%3Cscript src='" + gs_p + "s.gstat.orange.fr/lib/gs.js?"+gs_r+"' type='text/javascript'%3E%3C/script%3E"));
    Solution de dépannage: utiliser une autre variable que i.

    Vrai solution: écrire du code comme si on était en 2019: en utilisant des gestionnaires d'événements et en contrôlant la portée des variables.
    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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8"/>
            <title></title>
            <style type="text/css">
                body { background: url('fond.png'); }
                #container { text-align: center; }
            </style>
        </head>
        <body>
        <div id="container"> 
            <img name="img" src="2.png" id="page"/><br/>
            <img src="f1.png" id="backward"/>
            <img src="f2.png" id="forward"/>
        </div>
        <script type="text/javascript">
           {
                let currentImg = 2;
                let page = document.getElementById('page');
                document.getElementById('forward').addEventListener('click', e => { if (currentImg < 18) page.src = ++currentImg + '.png'; });
                document.getElementById('backward').addEventListener('click', e => { if (currentImg > 2) page.src = --currentImg + '.png'; });
            }
        </script>
     
        </body>
    </html>

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 88
    Par défaut
    super merci

    sinon je viens de trouver l'erreur.
    J'ai ajouté : parseFloat(i)

  5. #5
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Citation Envoyé par bull100 Voir le message
    sinon je viens de trouver l'erreur.
    Laquelle?

    J'ai ajouté : parseFloat(i)
    Ça ne sert à rien.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Puisque c'est numérique, Number() suffit.

    J'ai néanmoins amélioré ton code.
    J'ai aussi corrigé d'autres erreurs de code (JS et HTML) :

    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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <body background="fond.png">
      <script>
        const num_min = 2;
        const num_max = 18;
        let num = num_min;
      </script>
      <div style="text-align:center;">
        <img id="image" src="2.png" alt="image" />
        <br/>
        <a onclick="affiche_image (num-1);"><img src="f1.png" alt="précédent" /></a>
        <a onclick="affiche_image (num+1);"><img src="f2.png" alt="suivant" /></a>
        <a href="http://bull100.pagesperso-orange.fr/marion/marion/tome1.html">sortir</a>
      </div>
      <script>
        const image = document.querySelector('#image');
     
        function affiche_image(ii) {
          num = Number(ii);
          if (num < num_min) num = num_min;
          if (num > num_max) num = num_max;
          image.src = num + ".png";
          image.alt = "image " + num;
        }
        window.onload = function() {
          affiche_image(num); // afficha la 1ere image
        }
      </script>
     
    </body>

    Sinon, le code de CosmoKnacki va très bien
    Dernière modification par ProgElecT ; 04/03/2019 à 16h26.

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

Discussions similaires

  1. Extjs ! (problème d'affichage de résultat du code Javascript
    Par nabil.brarou dans le forum Ext JS / Sencha
    Réponses: 3
    Dernier message: 30/07/2012, 21h05
  2. Aide petit code javascript
    Par Founxi dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/05/2012, 22h47
  3. Probleme d'affichage sour firefox de code javascript css
    Par pod1978 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/10/2005, 13h09
  4. affichage caractère à partir du code ascii
    Par capone dans le forum C++
    Réponses: 4
    Dernier message: 19/10/2005, 21h51
  5. help sur un petit code avec XMLHttpRequest et setTimeout
    Par grinder59 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/10/2005, 10h22

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