begin process at 2012 02 12 12:22:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Changement de script dynamique de onclick sur html


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Changement de script dynamique de onclick sur html

lundi 30 avril 2007 à 18:55:58 | Changement de script dynamique de onclick sur html

cousinlol

Bonsoir,

J'ai fait un script qui me permet sur un formulaire sur un clic d'effectuer une alternance d'image et de traitement déclenché par onclick :

[code]function changeImage(el_image, numero)
{
      var prefixe = document.getElementById('prefixe').value;
      var id_image = "image"+numero;
      var lien_avant = "new Effect.BlindDown('detail_histo"+numero+"', 1);changeImage(this, '"+numero+"');";
      var lien_apres = "new Effect.BlindUp('detail_histo"+numero+"', 1);changeImage(this, '"+numero+"');";
      var image_avant = 'images/Folder_Close.png';
    var image_avant = prefixe+image_avant;
    var image_apres = 'images/Folder_Open.png';
    var image_apres = prefixe+image_apres;

    if(el_image.src == image_avant)
        {
            el_image.src = image_apres;
            img_onclick = lien_apres;
        }
    else
          {
            el_image.src = image_avant;
            img_onclick = lien_avant;
        }
    document.getElementById(id_image).onclick=function(){img_onclick};
    getElementsByTagName("img").setAttribute("src", el_image.src);
   
}[code]

L'alternance de l'image se fait bien, mais pas celle du onclick

Mon formulaire html est :

[code]<img id="image1" src="images/Folder_Close.png"
onclick="new Effect.BlindDown('detail_histo1', 1);changeImage(this, '1');" />[code]

Où se trouve mon erreur.

Merci d'avance
mardi 1 mai 2007 à 05:43:04 | Re : Changement de script dynamique de onclick sur html

bultez

Membre Club





Bonjour,

nous on ne dispose pas de :
        getElementById('prefixe')
       Effect.BlindDown
       Effect.BlindUp
       img_onclick               qui doit peut-être être = img_onclick() ?
                                           et pourquoi mettre ça en javascript si onclick déjà mis dans html ?
>>L'alternance de l'image se fait bien
    comment ? car là, on ne peut pas voir ça ? si ?


Cordialement            Bul     [mon Site]     [M'écrire]

mardi 1 mai 2007 à 07:08:07 | Re : Changement de script dynamique de onclick sur html

bultez

Membre Club




au fait... s'il faut changer l'image au click ( si j'ai bien compris ) :

<img id="image1" src="images/Folder_Close.png"
    onclick='this.src="nouvelle image.png par exemple";' />



Cordialement            Bul     [mon Site]     [M'écrire]

mardi 1 mai 2007 à 07:58:05 | Re : Changement de script dynamique de onclick sur html

cousinlol

Bonjour et merci

"Prefixe" est le chemin d'accès pour les images

<input type="hidden" name="prefixe" id="prefixe" value="{#prefixe_site#}">

J'ai peut-être fait compliqué, mais "img_onclick" est égal soit à "lien_avant" soit à "lien_apres".
Eux-mêmes étant égal soit à
var lien_avant = "new Effect.BlindDown('detail_histo"+numero+"', 1);changeImage(this, '"+numero+"');";
var lien_apres = "new Effect.BlindUp('detail_histo"+numero+"', 1);changeImage(this, '"+numero+"');";

Je dois le mettre dans java script puisque lorsque je clique sur l'image la 1ère fois, la fonction "Effect.BlindDown" est activé et l'image change, le nom de la fonction disponible doit aussi changer. Si je clique à nouveau, la fonction "Effect.BlindUp" doit être activé et l'image revient à la 1ère ainsi que le nom de la fonction disponible.

Les fonctions Effect.BlindDown et Effect.BlindUp proviennent de "prototype.js" et "scriptaculous.js"
mardi 1 mai 2007 à 08:12:35 | Re : Changement de script dynamique de onclick sur html

bultez

Membre Club




>>"img_onclick" est égal soit à "lien_avant" soit à "lien_apres"

oui, mais en string. ça ne va rien exécuter
(     pas même sûr que eval ça baignerait ,
      en plus le this... ce sera quoi ? la fonction probablement )

    document.getElementById(id_image).onclick=function(){ appel1(); appel2(); ... };

 >>Les fonctions Effect.BlindDown et Effect.BlindUp de prototype et scriptaculous
    je supputais bien un truc comme ça.


Cordialement            Bul     [mon Site]     [M'écrire]

mardi 1 mai 2007 à 08:30:25 | Re : Changement de script dynamique de onclick sur html

cousinlol

Donc effectivement le string c'est pas bon,

J'ai comme cela et ça fonctionne

function changeImage(el_image, numero)
{
      var prefixe = document.getElementById('prefixe').value;
      var id_image = "image"+numero;
      var image_avant = 'images/Folder_Close.png';
    var image_avant = prefixe+image_avant;
    var image_apres = 'images/Folder_Open.png';
    var image_apres = prefixe+image_apres;

    if(el_image.src == image_avant)
        {
            el_image.src = image_apres;
            document.getElementById(id_image).onclick=function(){new Effect.BlindUp('detail_histo'+numero, 1); changeImage(this, numero);};
        }
    else
          {
            el_image.src = image_avant;
            document.getElementById(id_image).onclick=function(){new Effect.BlindDown('detail_histo'+numero, 1); changeImage(this, numero);};
        }
    getElementsByTagName("img").setAttribute("src", el_image.src);
}

Merci beaucoup

Vois-tu plus simple ?
mardi 1 mai 2007 à 09:47:35 | Re : Changement de script dynamique de onclick sur html

bultez

Membre Club
Réponse acceptée !
par goût ( est-ce mieux ? ) j'utiliserais une même fonction
testant "un état" de l'image et faisant soit BlindDown ou BlindUp
donc seul un onclick dans la balise, c'est tout.

Cordialement            Bul     [mon Site]     [M'écrire]



Cette discussion est classée dans : image, numero, var, apres, onclick


Répondre à ce message

Sujets en rapport avec ce message

Visionneuse d'images javascript avec liens et boutons [ par marcmebtouche ] Bonjour   Pourriez vous répondre  à un problème de programmation en javascript. J'ai crée pour Chargement d'image impossible en DOM [ par hispanus ] salut à tous ! pour mon premier message sur ce forum, j'ai un gros souci avec le bout de code qui suit, qui sert à charger une image à la volée dans u Exécuter le code onclick d'une image dans une iframe [ par paratge ] Bonjour à tous.Je suis une vraie bille en javascript et je cherche désespérémment à exécuter le code onClick d'une image contenue dans une iframe qui Probleme sur onclick [ par eddie5150 ] Bonjour à tous,voila j'ai un probleme bizarre,lorsque je fait ceci :for(var i=0;i!=3;i++){    var td = tr.insertCell(-1);    td.onclick = function() { Problème avec mon diaporama automatique [ par way2web ] Bonjour,J'essaie de créer un diaporama automatique avec un  intervalle de 3s entre chaque affichage d'image, j'ai fait une tentative de script mais il Rollover avec plusieurs images [ par MELBLUES ] Bonjour, j'espère ne pas me tromper de section en postant ce message...J'aimerais savoir si l'un d'entre vous peut me filer un petit coup de main rapi Un appel javascript dans une div [ par cosycorner ] Bonjour à tous, Je voudrais insérer des images aléatoires dans une div aux dimensions précises.(en background ?)J'ai trouvé ce script qui fonctionne p Gros soucis avec mon onclick. Je n'arrive pas à l'associer à mon élément [ par takinelinfo ] Bonsoir,Alors là j'ai un gros soucis avec le js. Tout d'abord voici le code simplifier au maximun:function ChargeListeAcheteur(){    var reponseXml    document.images.src qui ne fonctionne pas sous IE [ par MrChrist ] Bonjour, je travaille présentement sur une boutique virtuelle... Chaque item a une photo principale et plusieurs thumbnails, je veux que la photo prin Firefox & mon_image.height ou mon_image.width [ par kcin ] Bonjour tout le mondeDans le développement d'une mini galerie de photos, j'ai une fonction JS qui récupère la hauteur et la largeur de l'image physiqu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,855 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales