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 :

Débutant - deux on click sur une image


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut Débutant - deux on click sur une image
    Je n'avais jamais même chercher à savoir comment fonctionne un script javascript auparavant, donc je débute vraiment, mais dans ce script, la condition, Si l'image est aggrandie ... je ne la trouve pas ...
    J'aimerais intégrer un history.go(-1) au click quand l'image est agrandie.

    J'ai ce script :
    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
     
    function fitit(image_id)
    {
    	elt_image = document.getElementById(image_id);
     
    	if (navigator.appName=="Netscape")
    		windowWidth = window.innerWidth;
    	if (navigator.appName.indexOf("Microsoft") != -1)
    		windowWidth = document.body.offsetWidth;
     
    	scaleWidth = windowWidth - 100;
     
    	if (elt_image.width > scaleWidth || oldWidth > scaleWidth)
    	{
    		if (elt_image.width == scaleWidth)
    			elt_image.width = oldWidth;
    		else 
    		{
    			oldWidth = elt_image.width;
    			elt_image.style.cursor = "pointer";
    			elt_image.width = scaleWidth;
    		}
    	}
    }
    On lui passe en paramètre l'id de l'image voulus.

    Et le lien en html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img id="img_affiche" onClick="fitit('img_affiche')" onLoad="fitit('img_affiche')" src="image.jpg" />
    L'histoire complète :
    Le script regarde si la fenetre est assez grande pour afficher l'image entierement.
    Si oui, il affiche l'image ...
    Si non, il fait un truc pour que l'images soit rétrécie au dimension de la fenêtre, si on clique sur l'image, elle s'agrandie.

    Dans les deux cas, elle finie par être agrandie, et j'aimerais caser un history.go(-1) au click.

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Hello Space Cowboy (May I call you Maurice?)

    Chuis pas certain d'avoir tout compris dans ce que tu expliques là (l'heure tardive sans doute) mais si tu désires simplement faire un history.go(-1) après que l'événement onClick ait exécuté ta fonction fitit, ceci devrait marcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img id="img_affiche" onClick="fitit('img_affiche');history.go(-1);" onLoad="fitit('img_affiche')" src="image.jpg" />

    Yan
    Gangster of Love

  3. #3
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut
    Quand l'image n'est pas assez grande pour être afficher dans la fenêtre, on doit cliquer sur l'image pôur qu'elle soit agrandie, mais des qu'elle est agrandie, la page précédente est fermé.
    Quand la fenêtre est assez grande, l'image ce charge et reviens directement à la page précédente.

    Ce que je voudrais c'est, si la fenetre n'est pas assez grande, un fait un clique pour agrandir l'image, et un autre clique pour revenir à la page précédente.

  4. #4
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Walut!

    Bon, si j'ai bien compris cette fois-ci, le pb a l'air assez facile à résoudre:

    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
     
    var done = 0;
     
    function fitit(image_id) 
    { 
     
       if (done == 1)
          history.go(-1);
       else
       {
         done = 1;
         elt_image = document.getElementById(image_id); 
     
         if (navigator.appName=="Netscape") 
            windowWidth = window.innerWidth; 
         if (navigator.appName.indexOf("Microsoft") != -1) 
            windowWidth = document.body.offsetWidth; 
     
         scaleWidth = windowWidth - 100; 
     
         if (elt_image.width > scaleWidth || oldWidth > scaleWidth) 
         { 
            if (elt_image.width == scaleWidth) 
               elt_image.width = oldWidth; 
            else 
            { 
               oldWidth = elt_image.width; 
               elt_image.style.cursor = "pointer"; 
               elt_image.width = scaleWidth; 
            } 
         } 
      } 
    }
    Lors du premier click, la fonction fitit fait son turbin comme auparavant.
    Lors du second click, la fonction fitit exécute le history.go(-1)

    Yan

  5. #5
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut
    Ton code ne marche pas, quand on charge la page, si la largeur est plus petite que la largeur de l'image, le code s'execute, donc done passe à 1 à l'affichage.
    Mais en le modifiant un peu ca fonctionne !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var done = 0;
     
    function fitit(image_id)
    {
     
       if (done == 2)
          history.go(-1);
       else
       {
         done ++;
         elt_image = document.getElementById(image_id);[...]
    Le probleme c'est qu'il faut cliquer deux fois si l'image peut être afficher entièrement, mais je vais me débrouiller.

  6. #6
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Space Cowboy
    Ton code ne marche pas, quand on charge la page, si la largeur est plus petite que la largeur de l'image, le code s'execute, donc done passe à 1 à l'affichage.
    Mais en le modifiant un peu ca fonctionne !
    J'avais encore compris de travers, quoi 8)
    Mais bon, l'idée générale y était...c'est le plus important.

    Yan

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

Discussions similaires

  1. Emission d'un signal lors d'un click sur une image
    Par peuf23 dans le forum Débuter
    Réponses: 27
    Dernier message: 20/12/2008, 17h12
  2. click sur une image - affichage <INPUT TEXT
    Par bilou95 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/05/2007, 11h13
  3. coordonnées d'un click sur une image
    Par piteon dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 05/04/2007, 22h30
  4. Un refresh de la page dés click sur une image
    Par bilou95 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/04/2007, 09h54
  5. Réponses: 6
    Dernier message: 15/03/2006, 17h10

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