7
votes

.fadeout () à l'intérieur d'un élément caché - Bug possible?

étant donné le code suivant :

$('.hotel_photo_select').fadeOut(300, function () {
    $(this).hide();
});
$('.itsHidden').show();


2 commentaires

Je ne comprends pas votre question. Vous écrivez $ ('. Ithaden'). Afficher (); bien sûr un Bonjour sera affiché. Veuillez clarifier un peu votre question.


À mon avis, $ ('. Hotel_Photo_Select'). Fadeout (300); devrait faderout tous les éléments. En fait, celui à l'intérieur d'un conteneur caché n'est pas caché. C'est la queston, mais BOO résolvez la mission :)


5 Réponses :


1
votes

jquery.fadeout transforme les éléments de leur état actuel à l'état que vous souhaitez adopter, dans ce cas caché. Si l'élément est déjà caché (comme avec la seconde occurrence), JQuery n'a pas besoin d'effectuer une action. Ce que vous pourriez faire est spécifiquement à régler l'affichage CSS sur NONE:

$('.itsHidden .hotel_photo_select').css('display','none');


0 commentaires

8
votes

comme "boo" déjà mentionné, parce que l'état actuel de la deuxième "Bonjour" Div est "caché" jquery.fadeout () n'appliquera aucune animation sur elle.

au lieu de dire "ne disparaissant pas pour moi ", vous devez dire" animer l'opacité à 0 ". Dans ce cas, JQuery ne se souciera pas si votre élément est visible ou non. Cela fera son travail: xxx

le voir ici: http: // jsfiddle. NET / QMSZG / 20 /


1 commentaires

Une chose à faire attention à ici est qu'à la fin de Fadeout, l'élément est réglé pour afficher: aucun que je crois. Pour imiter, vous auriez besoin d'un gestionnaire complet pour régler ensuite l'élément pour afficher Aucun (en fonction de ce que vous faites avec elle après).



1
votes

Placez le spectacle () avant le FADEOUT ()

$('.itsHidden').show();
$('.hotel_photo_select').fadeOut(300);


0 commentaires

2
votes

Techniquement, pour ce type de méthode, vous devez utiliser '. Chercher ()'. Ensuite, permet également d'ajouter un point de contrôle, où nous déterminons si le parent est visible, si ce n'est pas visible, alors nous le rendons visibles.

Cependant, rendre le parent visible, pourrait avoir un effet négatif sur votre mise en page, oui. Mais il n'y a pas de meilleur moyen de le faire, et vous devriez donc éviter ces types de situations.

Exemple en direct: http://jsfiddle.net/qmszg/21/ < / a> xxx


0 commentaires

1
votes

J'ai eu le même problème. Ma solution était de masquer l'élément comme une fonction de rappel: xxx

de cette façon si l'élément est masqué, le rappel sera appelé immédiatement.


0 commentaires