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

jQuery Discussion :

Navigation au clavier


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 46
    Par défaut Navigation au clavier
    Bonjour à tous,

    voici un petit script que j'ai écrit pour naviguer au clavier dans un tableau contenant des images (en gros faire défiler les images d'une gallerie ^^).

    Voici le code html :
    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
    <table width="100%" border="0" cellspacing="0" cellpadding="0" id="album">
      <tr>
     
    		            <td>
                    <div class="imgprotect" style="width:399px;height:600px"></div>
                    <img src="/img/photos/portrait/600/portrait-1.jpg" class="photo" id="photo1" alt="portrait-1" />            </td>
     
                         <td>
                    <div class="imgprotect" style="width:399px;height:600px"></div>
                    <img src="/img/photos/portrait/600/portrait-2.jpg" class="photo" id="photo2" alt="portrait-2" />            </td>
                         <td>
                    <div class="imgprotect" style="width:399px;height:600px"></div>
                    <img src="/img/photos/portrait/600/portrait-3.jpg" class="photo" id="photo3" alt="portrait-3" />            </td>
                         <td>
                    <div class="imgprotect" style="width:399px;height:600px"></div>
     
                    <img src="/img/photos/portrait/600/portrait-4.jpg" class="photo" id="photo4" alt="portrait-4" />            </td>
                         <td>
                    <div class="imgprotect" style="width:399px;height:600px"></div>
                    <img src="/img/photos/portrait/600/portrait-5.jpg" class="photo" id="photo5" alt="portrait-5" />            </td>          
     
      </tr>
    </table>
    et le JS :

    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
    var KeyFocus = $("#album td:first-child");
     
    $(window).keyup(function(event) {
     
    	if (event.keyCode == '37') { //Gauche
     
    			var NeedScroll = KeyFocus.prev().width()-20;
    			$('html').animate({scrollLeft:NeedScroll}, "slow");
    			var KeyFocus = KeyFocus.prev();
     
    	} else if(event.keyCode == '39') { //Droite
     
    			var Offset = KeyFocus.next().offset();
    			var NeedScroll = Offset.left - 230;
    			$('html').animate({scrollLeft:NeedScroll}, "slow");
    			var KeyFocus = KeyFocus.next();
     
    	}
     
    });
    Le problème c'est que KeyFocus n'est pas déclaré dans les conditions...Et je n'arrive pas à enregistrer Keyfocus à la fin de la condition avec l'élément next ou prev (ba oui sinon on navigue seulement d'avant en arrière sur deux images ^^).

    Donc ce qu'il faudrait :

    1- Keyfocus déclaré dans les conditions
    2- Enregistrement de la nouvelle valeur de KeyFocus une fois passé à l'élément prev ou next

    Des idées sur comment faire ça?

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Si vous voulez modifier la valeur de KeyFocus il ne faut pas mettre "var" qui déclare une nouvelle variable.

    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
    var KeyFocus = $("#album td:first-child");
    
    $(window).keyup(function(event) {
    
    	if (event.keyCode == '37') { //Gauche
    
    			var NeedScroll = KeyFocus.prev().width()-20;
    			$('html').animate({scrollLeft:NeedScroll}, "slow");
    			var KeyFocus = KeyFocus.prev();
    	
    	} else if(event.keyCode == '39') { //Droite
    
    			var Offset = KeyFocus.next().offset();
    			var NeedScroll = Offset.left - 230;
    			$('html').animate({scrollLeft:NeedScroll}, "slow");
    			var KeyFocus = KeyFocus.next();
    	}
    	
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 46
    Par défaut
    Super! Merci beaucoup!

    Ca marche très bien pour aller vers la droite mais à gauche ça fonctionne pas très bien.

    Je n'avais pas utilisé la méthode offset car quand c'est en négatif ça ne semble pas marcher...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/08/2012, 11h57
  2. [Plugin] Lightbox, navigation au clavier bugguée
    Par nicolas2603 dans le forum jQuery
    Réponses: 0
    Dernier message: 05/07/2012, 17h18
  3. Navigation au clavier
    Par Soull dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/04/2011, 10h13
  4. Navigation clavier buggée (event+key)
    Par xephres dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/09/2010, 18h59
  5. VirtualizingTilePanel + Navigation Clavier
    Par Thor Tillas dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 01/12/2008, 12h25

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