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 :

Changer une image sans recharger la page


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Changer une image sans recharger la page
    Bonjour a tous & a toutes

    J'essaie de développer une galerie d'image simple, qui ouvre un dossier,référencie le nombre de fichier a l'intérieur du dossier (a l'aide du php) dans une variable($countFile), puis je transfère le contenu de cette variable dans mon JS a l'aide un Array.
    Les boutons suivant/précédent augment ou baisse la valeur de cette variable qui commence a 1 initialement.
    voici le code :

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <div id="galerie">
    	<?php
    function browse ($pDirectory, $pExtension)
    {
        if($handle = opendir($pDirectory))
        {
             while(false !== ($file = readdir($handle)))
            {
                $getExt = explode(".", $file);
                $countExt = count($getExt);
                $fExt = $countExt - 1;
                $myExt = $getExt[$fExt];
                
                if (($myExt == $pExtension) && ($file != ".") && ($file != ".."))
                    {$files[] = $file;}
            }
         }
     return $files;
    closedir($handle);
    }
     
     
    // utilisation de la fonction avec des fichiers .jpg
    $getFile = browse("tatouages/", "jpg");
     
    $countFile = count($getFile);
     
    $image = 1;
    echo '
    <script type="text/javascript">
    var image = new Array("'.$image.'");
    </script>'; 
     
    if ($image == 1) {
        echo '
                    <img src="tatouages/tatoo'.$image.'.jpg" alt="Tatouages sur mesure Sharp Lines" /><br />
                    <img src="galerie/galerie1.jpg" alt="Galerie photo création design tatouages" />
                    <img src="galerie/galerie22.jpg" alt="Galerie photo création design tatouages" />
                    <a href="#" onclick="image++;" onMouseover="Permut(1,\'img2\');" onMouseout="Permut(0,\'img2\');">
                    <img src="galerie/galerie3.jpg" border="0" name="img2" onload="preloadPermut(this,\'galerie/galerie33.jpg\');" ></a>
                    <img type="inline" src="galerie/galerie4.jpg" alt="Galerie photo création design tatouages" /><br />';
        }
            
            elseif ($image < $countFile) {
        echo '
                    <img src="tatouages/tatoo'.$image.'.jpg" alt="Tatouages sur mesure Sharp Lines" /><br />
                    <img src="galerie/galerie1.jpg" alt="Galerie photo création design tatouages" />
                    <a href="#" onclick="image--;" onMouseover="Permut(1,\'img1\');" onMouseout="Permut(0,\'img1\');">
                    <img src="galerie/galerie2.jpg" border="0" name="img1" onload="preloadPermut(this,\'galerie/galerie22.jpg\');" ></a>
                    <a href="#" onclick="image++;" onMouseover="Permut(1,\'img2\');" onMouseout="Permut(0,\'img2\');">
                    <img src="galerie/galerie3.jpg" border="0" name="img2" onload="preloadPermut(this,\'galerie/galerie33.jpg\');" ></a>
                    <img type="inline" src="galerie/galerie4.jpg" alt="Galerie photo création design tatouages" /><br />';
        }
            
            elseif ($image >= $countFile) {
        echo '
                    <img src="tatouages/tatoo'.$image.'.jpg" alt="Tatouages sur mesure Sharp Lines" /><br />
                    <img src="galerie/galerie1.jpg" alt="Galerie photo création design tatouages" />
                    <a href="#" onclick="image--;" onMouseover="Permut(1,\'img1\');" onMouseout="Permut(0,\'img1\');">
                    <img src="galerie/galerie2.jpg" border="0" name="img1" onload="preloadPermut(this,\'galerie/galerie22.jpg\');" ></a>
                    <img src="galerie/galerie33.jpg" alt="Galerie photo création design tatouages" />
                    <img type="inline" src="galerie/galerie4.jpg" alt="Galerie photo création design tatouages" /><br />';
        }
            
            else {
        echo "<div class=\"centre\">Une erreur est survenue, veuillez actualiser la page.</div>";
        }
     
     
    ?> 
    	</div>
    Si vous avez besoin de plus de précisions,demandez-moi

    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Peux tu clarifier ta demande stp ?

    D'un autre côté, le code que tu proposes est étrange: il considère que les images s'appellent toutes tatooXX.jpg, et ta variable $getFile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $getFile = browse("tatouages/", "jpg");
    n'est jamais utilisée, si ce n'est pour obtenir le nombre de fichiers à traiter.

    Enfin je ne vois pas où tu veux en venir avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $image = 1;
    echo '
    <script type="text/javascript">
    var image = new Array("'.$image.'");
    </script>';
    (autant remplacer directement par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $image = 1;
    echo '
    <script type="text/javascript">
    var image = new Array("1");
    </script>';

    Peux tu stp préciser ces points ?

    ERE

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    oui,les images s'appellent toutes tatooXX.jpg x)

    Enfait je voulais une galerie toute simple,avec juste un bouton suivant et précédent situé sous l'image, qui affiche les images d'un dossier dans l'ordre et que je puisse re utiliser sur d'autres pages,avec a chaque fois un nombre variable d'images.
    A croire que personne n'aime faire simple,j'en ai pas trouvé,ou je n'ai pas réussi a les adapter =x

    On ma conseiller de le faire avec du javascript/AJAX pour éviter les rechargement de pages, c'est pour ça que j'utilisais l'Array, pour récupérer le nombre d'image dans une variable JS et pouvoir m'en resservir plus tard.

    Finalement j'ai réussi a le faire mais uniquement avec du php(donc ça na plus lieux d'être dans ce forum) et avec rechargement de page mais c'est même mieux comme ça je trouve.

    Voila le résultat final > Sharp Lines

    Merci de t'être intéresser en tout cas

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Très bonne idée de faire simple...

    Je suis passé voir le résultat sur ton site; un conseil dans la continuité de la simplicité: si tu souhaites que ta galerie ne recharge pas la page à chaque fois, isole là dans un IFrame, ainsi le reste de la page (le menu, ...) ne sera pas rechargé et cela ne flashera pas.

    Bonne continuation,


    ERE

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

Discussions similaires

  1. Recharger une image sans recharger la page
    Par willyg28 dans le forum jQuery
    Réponses: 2
    Dernier message: 04/04/2012, 18h31
  2. Réponses: 5
    Dernier message: 08/01/2011, 13h49
  3. Récupérer une valeur sans recharger ma page
    Par chantal6698213 dans le forum ASP
    Réponses: 7
    Dernier message: 23/09/2007, 10h14
  4. Changer du texte sans recharger la page
    Par glloq8 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/02/2007, 12h18
  5. Atteindre une ancre sans recharger la page
    Par maxxou dans le forum Langage
    Réponses: 2
    Dernier message: 22/07/2006, 14h06

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