Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] Fonction modifiée dynamiquement

Sujet résolu
    18 octobre 2006 à 17:30:53

    Bonsoir.

    J'ai mis un script JavaScript sur mon site dont le but est d'afficher des images à taille réelle quand on survole les thumbnails. En gros, 5 petites images j'en survole une, l'emplacement défini l'affiche en grand.

    J'ai mis ce joli script dans un fichier que j'inclus dans mon fichier index.php

    Oui, mais voilà. Les images à afficher ne sont pas forcément toujours les mêmes. Il me faut alors changer le script ce qui devient plus difficile quand on importe le fichier.
    Je l'ai remis dans le code de la page php, mais ça m'embête..

    Bref, le code pour essayer d'éclaircir... :
      <script language="JavaScript">
       var arrayImages = new Array(<?php echo $nbImg ; ?>) ;
       var arrayNoms = new Array(<?php echo $nbImg ; ?>) ;
    <?php
       for ( $i=0 ; $i<$nbImg ; $i++ ) {
        echo " arrayImages[$i] = new Image() ; \r\n" ;
        echo " arrayImages[$i].src = '".addslashes($arrayImages[$i])."' ; \r\n" ;
        echo " arrayNoms[$i] = '".addslashes($arrayImages[$i])."' ; \r\n" ;
       }
    ?>
     
       function flip(n) {
        document.images['showcard'].src = arrayNoms[n]//
       }
      </script>


    Les tableaux sont bien sur initialisés avant.
    J'aimerais pouvoir mettre ce script dans un fichier js, afin que le code ne soit pas présent dans la page... Est-ce possible, autrement qu'en créant le fichier dynamiquement avant de l'inclure ?

    Merci à vous.

    Ps : Si je ne suis pas clair, n'hésitez pas à me demander des précisions.
    • Partager sur Facebook
    • Partager sur Twitter
      18 octobre 2006 à 17:47:00

      on peut pas mettre de php dans du javascript je crois :euh:
      • Partager sur Facebook
      • Partager sur Twitter
        18 octobre 2006 à 17:50:08

        Le script que j'ai montré fonctionne. Mais ça m'oblige à le coder dans la page php.
        J'aimerais que tout se passe uniquement dans le fichier inclus.
        • Partager sur Facebook
        • Partager sur Twitter
          18 octobre 2006 à 17:52:59

          tu veut dire un fichier javascript externe ???
          ex: script.js
          • Partager sur Facebook
          • Partager sur Twitter
            18 octobre 2006 à 17:59:19

            Vi.
            Je voudrais l'inclure de façon classique :
            <script src="./js/fonctions.js" type="text/javascript"></script>

            La raison, c'est que si j'inclus un fichier js, la source n'est pas présente dans le code de la page (je sais, on peut toujours y accéder directement, mais là n'est pas la question). Par contre, si j'écris le code Javascript dans la page php comme montré ci-dessus, le code sera visible dans la source, ce que je ne veux pas.

            Si JavaScript peut interroger une variable de session de php, je suis preneur aussi ;)
            • Partager sur Facebook
            • Partager sur Twitter
              18 octobre 2006 à 18:06:59

              ok alors tu fait un fichier .js

                 var arrayImages = new Array(<?php echo $nbImg ; ?>) ;
                 var arrayNoms = new Array(<?php echo $nbImg ; ?>) ;
              <?php
                 for ( $i=0 ; $i<$nbImg ; $i++ ) {
                  echo " arrayImages[$i] = new Image() ; \r\n" ;
                  echo " arrayImages[$i].src = '".addslashes($arrayImages[$i])."' ; \r\n" ;
                  echo " arrayNoms[$i] = '".addslashes($arrayImages[$i])."' ; \r\n" ;
                 }
              ?>
               
                 function flip(n) {
                  document.images['showcard'].src = arrayNoms[n]//
                 }


              et dans ta page

              <html><head><script src="lien du fichier" type="text/javascript"></script>
              </head>
              <body>
              <p><script type="text/javascript">flip(n)</script></p>
              </body>
              </html>


              Voila je crois que c'est sa enfin moi je met sert de se code et sa marche
              • Partager sur Facebook
              • Partager sur Twitter
                18 octobre 2006 à 18:15:27

                Le plus important pour que le code php dans un fichier .js fonctionne, c'est de changer la configuration.
                voir ce lien pour rajouter des extensions de fichiers pour php.

                Si tu ne peux pas faire ça sur ton hebergement, tu as toujours la possible de nommer ton fichier en finissant par .php :
                script.js.php :

                <?php
                header('Content-type: text/javascript');
                ?>
                   var arrayImages = new Array(<?php echo $nbImg ; ?>) ;
                   var arrayNoms = new Array(<?php echo $nbImg ; ?>) ;
                <?php
                   for ( $i=0 ; $i<$nbImg ; $i++ ) {
                //Blabla ...


                Et dans ton fichier html, tu fais un appel à un fichier .php sans trop t'en soucier:

                <script type="script.js.php" type="text/javascript"></script>
                • Partager sur Facebook
                • Partager sur Twitter
                  19 octobre 2006 à 10:09:06

                  Merci, ça fonctionne parfaitement.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [JS] Fonction modifiée dynamiquement

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown