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 :

Donner le focus à un slide (Avec Coda-Slider)


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 78
    Points
    78
    Par défaut Donner le focus à un slide (Avec Coda-Slider)
    Bonjour,

    Mon but est de pouvoir naviguer entre plusieurs images, et de donner le focus à ces images pour pouvoir utiliser mes fonctions de zoom.

    En suivant le tutorial :

    http://ritter-jack.developpez.com/tu...da-slider-v-2/

    J'ai donc réussi à mettre en place ce slider, en intégrant des images à l'intérieur des slides.

    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
     
    <div class="coda-slider preload" id="coda-slider">
     
     <!-- L'id de ce div est important pour js-->
    <div class="panel"><!-- Slide 1-->
      <div class ="panel-wrapper">
     
    <h2 class="title">Page 1</h2>
     
     
    <img id="docannote" name="image1"
     
    style="margin-bottom : 70px; z-index:0" onload="redimensionnement(this)"
     
    src=XXX.jpg width=100% height=100%  onmouseup="zoomdscadre(event);
     
    // Chargement de mes fonctions persos
    onload="redimensionnement(this)" 
    clicsouris(0, event)" 
    onmousemove="scroll(event); cadre(event);" 
    onmouseup="zoomdscadre(event); clicsouris(0, event)"
    onmousedown="clicsouris(1, event);"
    ondblclick="AddNote(<?php echo $id, $page, event)"/>
     
    </div></div>
     
    <div class="panel"><!-- Slide 2-->
     
       <div class ="panel-wrapper">
     
            <h2 class="title">Page 2</h2>
     
    <img id="docannote" name="image2" 
     
    style="margin-bottom : 70px; z-index:0" 
     
     
     
    src=XXX.jpg width=100% height=100%  onmouseup="zoomdscadre(event);
     
    // Chargement de mes fonctions persos 
    onload="redimensionnement(this)" 
    clicsouris(0, event)" onmousemove="scroll(event); cadre(event);" 
    onmouseup="zoomdscadre(event); clicsouris(0, event)" 
    onmousedown="clicsouris(1, event);" 
    ondblclick="AddNote(<?php echo $id, $page, event)"/>
    </div>
    Mes fonctions de zoom marche seulement sur le slide 1 du document, celui qui s'affiche en premier, et lorsque je change de slide, les fonctions de zoom continue de fonctionner sur le slide 1.

    Je pense que c'est une histoire de focus mais je suis bloqué sur la syntaxe à utiliser.

    Merci de votre aide !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 78
    Points
    78
    Par défaut
    Je pense que j'ai une piste :

    Voici la fonction javascript de coda slider qui permet de changer de page

    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
     
     
     
    // Left arrow click
    		$("#coda-nav-left-" + sliderCount + " a").click(function(){
    			navClicks++;
    			if (currentPanel == 1) {
    				offset = - (panelWidth*(panelCount - 1));
    				alterPanelHeight(panelCount - 1);
    				currentPanel = panelCount;
    				slider.siblings('.coda-nav').find('a.current').removeClass('current').parents('ul').find('li:last a').addClass('current');
    			} else {
    				currentPanel -= 1;
    				alterPanelHeight(currentPanel - 1);
    				offset = - (panelWidth*(currentPanel - 1));
    				slider.siblings('.coda-nav').find('a.current').removeClass('current').parent().prev().find('a').addClass('current');
    			};
    			$('.panel-container', slider).animate({ marginLeft: offset }, settings.slideEaseDuration, settings.slideEaseFunction);
    			if (settings.crossLinking) { location.hash = currentPanel }; // Change the URL hash (cross-linking)
    			return false;
    		});
    Donc, il faudrait que je récupère l'id de mon slide, et lors du changement de page, faire un "setfocus" ou quelque chose du genre.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 78
    Points
    78
    Par défaut
    Ma fonction zoom marche à partir de l'id, comme toutes mes images ont le meme id mais pas le meme name, faut que je change ma fonction pour qu'elle zoom par rapport au "name".

    Je vais tester ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function zoom(multiple, event)							//Fonction de zoom sur le document
    {
    	coef = (coef*multiple) || multiple;					//On modifie le coefficient global
    	var newwidth = Math.round(document.getElementById("docannote").width * multiple);	//on redefinit les dimmentions de l'image
    	var newheight = Math.round(document.getElementById("docannote").height * multiple);
    	document.getElementById("docannote").style.width=newwidth+'px';
    	document.getElementById("docannote").style.height=newheight+'px';
    	placementcom(multiple);								//On déplace les annotations en conséquence
    }

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 78
    Points
    78
    Par défaut
    Résolu !

    Il faut gérer le zoom par l'id de l'image et non pas le nom.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function zoom(multiple, event)							//Fonction de zoom sur le document
    {
    	var imageactive = "doc" + currentPanel;
    	coef = (coef*multiple) || multiple;					//On modifie le coefficient global
    	var newwidth = Math.round(document.getElementById(imageactive).width * multiple);	//on redéfinit les dimensions de l'image
    	var newheight = Math.round(document.getElementById(imageactive).height * multiple);
    	document.getElementById(imageactive).style.width = newwidth + 'px';
    	document.getElementById(imageactive).style.height = newheight + 'px';
    	placementcom(multiple);								//On déplace les annotations en conséquence
     
    }
    Merci à moi d'avoir trouvé la solution

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

Discussions similaires

  1. Coda slider focus slide courant
    Par shonem dans le forum ASP.NET Ajax
    Réponses: 0
    Dernier message: 10/09/2010, 13h32
  2. Donner le focus avec le click droit !
    Par cincap dans le forum Débuter
    Réponses: 4
    Dernier message: 19/11/2009, 18h22
  3. Coda slider avec des onglets
    Par the-destroyer dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 29/07/2009, 13h20
  4. Donner le focus a un input text avec un radio
    Par hraiwen dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/04/2009, 13h02
  5. Réponses: 4
    Dernier message: 18/05/2005, 15h08

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