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 :

croiser 2js de manière dynamique


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut croiser 2js de manière dynamique
    Bonjour à tous,

    Voilà mon problème:
    J'utilise un javascript repomper sur seloger.com, qui permet d'afficher un image, et en dessous 5 petite vignette correspondant au autres images du produit.
    Lorsque l'on clique sur un des vignettes l'images principale 1 se modifit au profit de l'image "vignette".
    dont voici le code

    Donc dans mon product_info.php, j'ai mis:
    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
    <?php
    $img = $product_info['products_image'] ;
    $img1 = $product_info['products_subimage1'];
    $img2 = $product_info['products_subimage2'];
    $img3 = $product_info['products_subimage3'];
    $img4 = $product_info['products_subimage4'];
    $img5 = $product_info['products_subimage5'];
    $img6 = $product_info['products_subimage6'];
     
     
    echo "<a name='grand'><img src='images/$img' vspace='10' hspace='5' id='big' alt='$products_alt' title='$products_alt' style='border:1px solid black' width='200'></a><BR>";
    ?>
     
    <a href="java script:changeImgAnnonce('images/<?php echo $img ?> ','1');">
    <IMG alt="<?php echo $products_alt .' 1';?>" title="<?php echo $products_alt .' 1';?>" src="images/<?php echo $img ?>" style="border:1px solid black" width="40"></a>
    <?php if ( $img1 <> "")confused.gif>
    <a href="java script:changeImgAnnonce('images/<?php echo $img1 ?> ','2');">
    <IMG alt="<?php echo $products_alt .' 2';?>" title="<?php echo $products_alt .' 2';?>" src="images/<?php echo $img1 ?>" style="border:1px solid black" width="40"></a>
    <?php endif ?>
    <?php if ( $img2 <> "")confused.gif>
    <a href="java script:changeImgAnnonce('images/<?php echo $img2 ?> ','3');">
    <IMG alt="<?php echo $products_alt .' 2';?>" title="<?php echo $products_alt .' 3';?>" src="images/<?php echo $img2 ?>" style="border:1px solid black" width="40"></a>
    <?php endif ?>
    <?php if ( $img3 <> "")confused.gif>
    <a href="java script:changeImgAnnonce('images/<?php echo $img3 ?> ','4');">
    <IMG alt="<?php echo $products_alt .' 3';?>" title="<?php echo $products_alt .' 4';?>" src="images/<?php echo $img3 ?>" style="border:1px solid black" width="40"></a>
    <?php endif ?>
    <?php if ( $img4 <> "")confused.gif>
    <a href="java script:changeImgAnnonce('images/<?php echo $img4 ?> ','5');">
    <IMG alt="<?php echo $products_alt .' 4';?>" title="<?php echo $products_alt .' 5';?>" src="images/<?php echo $img4 ?>" style="border:1px solid black" width="40"></a>
    <?php endif ?>
    <?php if ( $img5 <> "")confused.gif>
    <a href="java script:changeImgAnnonce('images/<?php echo $img5 ?> ','6');">
    <IMG alt="<?php echo $products_alt .' 5';?>" title="<?php echo $products_alt .' 6';?>" src="images/<?php echo $img5 ?>" style="border:1px solid black" width="40"></a>
    <?php endif ?>
    <?php if ( $img6 <> "")confused.gif>
    <a href="java script:changeImgAnnonce('images/<?php echo $img6 ?> ','7');">
    <IMG alt="<?php echo $products_alt .' 6';?>" title="<?php echo $products_alt .' 7';?>" src="images/<?php echo $img6 ?>" style="border:1px solid black" width="40"></a>
    <?php endif ?>
     
    <script LANGUAGE="JavaScript" TYPE="text/javascript">
    <!--
    function MM_preloadImages() { //v3.0
     
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
     
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
     
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }
    MM_preloadImages('images/<?php echo $img;?>', 'images/<?php echo $img1;?>', 'images/<?php echo $img2;?>','images/<?php echo $img3;?>','images/<?php echo $img4;?>','images/<?php echo $img5;?>','images/<?php echo $img6;?>');
    function changeImgAnnonce(srcimg,idimg){
    var img = document.getElementById('big');
    var legende_dest = document.getElementById('legende_ph_base');
    var legende_source = document.getElementById('legende_ph_th_'+idimg);
    img.src = srcimg;
    if( legende_dest && legende_source){
    legende_dest.innerHTML = legende_source.innerHTML;
    }
    }
    // -->
    </SCRIPT>
    J'aurais aimé mettre une lightbox afin que lorsque l'on click sur l'image principale, elle s'affiche en plus grand dans une lightbox

    J'ai donc insérer mes fichier, les liens nécessaire dans le header pour charger les fichier js.
    ainsi que remplacer:
    Code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<a name='grand' href='images/$img' title='$products_alt'><img src='images/$img' vspace='10' hspace='5' id='big' alt='$products_alt' title='$products_alt' style='border:1px solid black' width='200'></a><BR>";
    par:
    Code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<div id='gallery'><a name='grand' href='images/$img' title='$products_alt'><img src='images/$img' vspace='10' hspace='5' id='big' alt='$products_alt' title='$products_alt' style='border:1px solid black' width='200'></a></div><BR>";

    Lorsque j'ouvre la fiche prod. et que je click sur l'image principale, nikel, la lightbox s'ouvre.
    Le problème: c'est que si je click sur la vignettes "2", l'image principale passe bien à l'image "2", mais quand je click alors sur l'image, la lightbox affiche l'image "1".

    En clair, le javascript n'etant pas dynamique, il reste toujours sur la même image?
    Comment pourrais-je faire.

    Merci à vous

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut
    Après réflexion je me dis que le plus simple serais sans doute mettre un bouton zoom en dessous, et que ma fonction changeImgAnnonce modif le lien de cette image mais comment le faire?
    (Désolé je me débrouille en php, mais javascript....)

    donc j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "<a name='grand' title='$products_alt'><img src='images/$img' vspace='10' hspace='5' id='big' alt='$products_alt' title='$products_alt' style='border:1px solid black' width='200'></a><BR>";
    echo "<div id='gallery'><a name='grand' href='images/zoom.gif' title='$products_alt' id='lien'><img src='images/zoom.gif' vspace='10' hspace='5' alt='$products_alt' title='$products_alt' style='border:1px solid black' width='70'></a></div><BR>";
    et
    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
      <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
      <!--
      function MM_preloadImages() { //v3.0
     
        var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
     
          var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
     
          if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 
      }
      MM_preloadImages('images/<?php echo $img;?>', 'images/<?php echo $img1;?>', 'images/<?php echo $img2;?>','images/<?php echo $img3;?>','images/<?php echo $img4;?>','images/<?php echo $img5;?>','images/<?php echo $img6;?>');
      function changeImgProduit(srcimg,idimg){ 
       var img = document.getElementById('big');
       var legende_dest = document.getElementById('legende_ph_base');
       var legende_source = document.getElementById('legende_ph_th_'+idimg);
       img.src = srcimg;
    	if( legende_dest && legende_source){
        legende_dest.innerHTML = legende_source.innerHTML;
       }
     
      }
       // -->
      </SCRIPT>
    Donc que ma fonction changeimgAnnonce, modifi le lien de l'image id=lien.

    Si quelqu'un pouvais m'aidez je lui serais pleinement reconnaissant.

    Merci à vous

Discussions similaires

  1. Comment charger une DLL win32 en C# de manière dynamique
    Par Jayceblaster dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/06/2009, 18h38
  2. Réponses: 13
    Dernier message: 25/01/2007, 17h20
  3. Réponses: 1
    Dernier message: 11/01/2007, 22h57
  4. Créer une variable de manière dynamique
    Par Nelson74 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/11/2006, 23h05
  5. [JTable] Changer les colonnes de manière dynamique
    Par gg2laba dans le forum Composants
    Réponses: 3
    Dernier message: 03/10/2005, 23h39

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