2011-11-24 3 views
0

J'ai passé des heures à essayer de comprendre ce problème et je ne peux pas, alors si vous pensez que vous avez ce qu'il faut s'il vous plaît donnez-moi un coup de main. J'écris du code jQuery pour ajouter un bouton de suppression (style iphone) dans une application Web. Cependant je ne peux pas l'obtenir pour cacher la suppression actuellement balayée quand vous la glissez pour la deuxième fois (avec l'intention de la cacher). Quand vous glissez ailleurs, il cache le précédent.jQuery bouton à bascule ne cache pas la sélection actuelle

Voici un exemple jsfiddle du code en utilisant click au lieu de swipe. Vous remarquerez que si vous cliquez deux fois sur le li, il ne masquera pas la suppression. Mais si vous cliquez ailleurs, c'est le cas.

le code réel est

$("li.swipeDelete").live("swipe",function(){ 
     var $th_btn = $(this).find(".aDeleteBtn"); 
     $(".aDeleteBtn").removeClass("fadeInLeft"); 
     $th_btn.toggleClass("fadeInLeft"); 
    }); 

Merci :)

Répondre

0

Je suis désolé de tuer le parti, mais juste après je l'ai ajouté qu'il est venu à moi. Déplacer la removeClass après, et seulement enlever la classe si elle a déjà la classe slideLeft et son PAS l'élément actuel.

var $th_btn = $(this).find(".aDeleteBtn"); 
$th_btn.toggleClass("fadeInLeft"); 
$(".aDeleteBtn.fadeInLeft").not($th_btn).removeClass("fadeInLeft"); 

J'espère que ceci peut être utilisé comme référence. Je vais également faire un plugin jquery pour que tout le monde puisse profiter de cette fonctionnalité.