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 :

Stopper l'éxécution de mon algorithme pour éviter le spam


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Par défaut Stopper l'éxécution de mon algorithme pour éviter le spam
    Hey !

    Bon, c'est assez difficile de donner un bon titre, mais voilà mon problème :

    Avant toute chose voici mon site : http://www.simonrevenu.com/

    Comme vous pouvez le voir, il faut utiliser les flèches de votre clavier pour vous déplacer.

    Arrivé a la deuxième page (ou même la 5ème) il faut tourner à gauche ou a droite pour faire défiler les projets.

    Maintenant, on en vient à mon problème : si vous spammer gauche droite gauche droite plein de fois, l'algorithme tourne jusqu'à faire toute les actions que vous lui avez données.

    Comment puis je faire pour arrêter cet algorithme après UN seul appui sur une touche et ne pas garder en mémoire les autres ?

    Voici un bout de code :

    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
     
    $(document).keyup(function(e) {
    	var key = e.keyCode || e.charCode || e.which;
    	switch (key) {
    		case 39:
    		if(index == 0){
    			index = 1;
    			holder.find('.slider').animate({'left' : -500}, "linear");
    			holder.find('.dragger').animate( { 'left' : 740 }, speedAnim, 'linear');			
    			holder.find('.left-arrow').animate({'opacity' : 1}, speedAnim, 'linear');
    			holder.find('.right-arrow').animate({'opacity' : 0}, speedAnim, 'linear');
    			holder.find('.oneSpec').animate({'margin-left' : 73}, speedAnim, 'linear');
    		};
    		break;
    		case 37:
    		if(index == 1){
    			index = 0;
    			holder.find('.slider').animate({'left' : 0}, "linear");
    			holder.find('.dragger').animate( { 'left' : 70 }, speedAnim, 'linear');
    			holder.find('.left-arrow').animate({'opacity' : 0}, speedAnim, 'linear');
    			holder.find('.right-arrow').animate({'opacity' : 1}, speedAnim, 'linear');
    			holder.find('.oneSpec').animate({'margin-left' : 25}, speedAnim, 'linear');
    		};
    		break;
    	};
    });


    Merci de votre aide !

  2. #2
    Membre chevronné
    Avatar de Darkaurora
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 382
    Billets dans le blog
    1
    Par défaut
    Tout de suite je dirais qu'il est certainement possible de le faire avec return. En gros il te suffit de définir un boolean qui te permettras de dire si tu continue l'action ou pas. Si les conditions ne sont pas satisfaisantes alors un "if" et un "return" suffit je pense.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Par défaut
    Arf, depuis le post j'ai réussi a résoudre mon problème ^^


    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
     
    var canPress = true;
     
    if(canPress == true)
    {
    	switch (key) {
    		case 39:
    		if(index == 0){
    			canPress = false;
    			index = 1;
    			holder.find('.slider').animate({'left' : -500}, "linear", function(){canPress = true});
    			holder.find('.dragger').animate( { 'left' : 740 }, speedAnim, 'linear');			
    			holder.find('.left-arrow').animate({'opacity' : 1}, speedAnim, 'linear');
    			holder.find('.right-arrow').animate({'opacity' : 0}, speedAnim, 'linear');
    			holder.find('.oneSpec').animate({'margin-left' : 73}, speedAnim, 'linear');
    		};
    		break;
    		case 37:
    		if(index == 1){
    			canPress = false;
    			index = 0;
    			holder.find('.slider').animate({'left' : 0}, "linear", function(){canPress = true});
    			holder.find('.dragger').animate( { 'left' : 70 }, speedAnim, 'linear');
    			holder.find('.left-arrow').animate({'opacity' : 0}, speedAnim, 'linear');
    			holder.find('.right-arrow').animate({'opacity' : 1}, speedAnim, 'linear');
    			holder.find('.oneSpec').animate({'margin-left' : 25}, speedAnim, 'linear');
    		};
    		break;
    	};
    }

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

Discussions similaires

  1. recherche un algorithme pour mon cas
    Par omarito15 dans le forum Intelligence artificielle
    Réponses: 3
    Dernier message: 13/05/2013, 00h49
  2. Trouver un algorithme pour mon problème
    Par identifiant_bidon dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2011, 00h53
  3. Crypter une adresse email pour éviter le spam
    Par trakiss dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 18h56
  4. Crypter une adresse email pour éviter le spam
    Par trakiss dans le forum Téléchargez
    Réponses: 0
    Dernier message: 14/02/2011, 18h56
  5. Réponses: 2
    Dernier message: 21/02/2008, 15h43

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