2011-08-30 4 views
0

Ce que j'essaie de faire, c'est de changer la façon dont un joueur se déplace dans un jeu JQuery.
Plutôt que d'appuyer sur une touche, j'essaie de faire bouger le lecteur s'il clique sur/mousedown sur le texte, avec l'identifiant «left».JQuery mousedown issue

Le code d'origine est le suivant. Mon code est le suivant, et quand je joue, il déplace en continu le joueur à gauche sans que j'appuie sur quoi que ce soit. Il ne doit pas bouger vers la gauche tant que je n'ai pas cliqué ou moussé sur le texte de l'id "gauche".

  if ($('#left').mousedown){ 
       var nextpos = parseInt($("#player").css("left"))-5; 
       if(nextpos > 0){ 
        $("#player").css("left", ""+nextpos+"px"); 
       } 
      } 

Répondre

1

Ce:

if ($('#left').mousedown){ 

sera toujours vrai. Vous vérifiez si $() a une propriété mousedown et ce sera toujours le cas parce que tous les objets jQuery ont une méthode mousedown. Vous voulez probablement lier un gestionnaire d'événement mousedown:

$('#left').mousedown(function(e) { 
    //... 
}); 
+0

Merci! Une chose, maintenant ça ne bouge pas doucement avec l'assouplissement, ça bouge de façon irrégulière. Il ne bouge pas non plus si je maintiens la souris sur le #left? – MartinH23

+0

@ MartinH23: Difficile de dire quoi de neuf sans un exemple fonctionnel. –

+0

J'espère que cela aide! http://jsfiddle.net/LZeqG/2/ merci encore! tellement – MartinH23