2009-12-11 2 views
0

Dans mon code jQuery (je sais que l'instruction if n'est pas jQuery), la propriété CSS "right" pour la classe "slider" n'égale pas 30, et pourtant "container" est toujours éteint sur mousedown .. mal faire? Je veux que ce soit: si la classe de curseur a une propriété CSS "droite" égale à 30 pixels, puis fadeout le conteneur.Comment puis-je obtenir cette instruction if avec jQuery .css pour fonctionner?

$(document).ready(function() { 
    $(".slider").mousedown(function() { 
     if ($('.slider') 
      .css({'right':30}) 
     ) { 
     $('.container') 
      .fadeOut('slow'); 
     } 
    }); 
}); 

Répondre

3
$(document).ready(function() { 
    $(".slider").mousedown(function() { 
     if ($('.slider').css('right') == 30) { 
      $('.container').fadeOut('slow'); 
     }  
    }); 
}); 
5

Peut-être:

if($('.slider').css('right') == '30'){ ... } 

Il pourrait y avoir une unité, comme px à la fin de la valeur là-bas. Pas certain.

9

$('.slider').css({'right':30}) renvoie un objet tableau qui est toujours vrai.

Vous voulez if ($('.slider').css('right') == "30px") ...

+2

supplémentaires (car il pourrait ne pas être évident pour l'OP): Le code '$ ('curseur ') css ({' droite': 30}). 'applique la bonne propriété css avec une valeur de 30, c'est pourquoi il retourne un tableau et évalue à vrai. –

+0

ouais n'avait pas considéré que plus de côté = effet .. bonne prise –