2010-07-26 5 views
0

J'ai un élément qui s'estompe, c'est la taille de la page et va au-dessus de la page entière. lorsque vous cliquez sur le bouton de fermeture, il devrait disparaître. J'ai tout cela fonctionne mais mon problème est quand je le ferme, son opacité est mise à 0, mais vous pouvez toujours cliquer sur ce qui était dans l'élément. (J'ai un couple d'étiquettes dedans)Elimine l'élément puis affiche: none;

Alors ... vous cliquez dessus même si c'est invisible. Comment puis-je faire apparaître pas du tout dans le code, au lieu de simplement devenir invisible?

Ce que je:

$('#menu_thumbnails').toggle(function() { 
         $('div#thumbnails').show(); 
         $('div#thumbnails').stop().fadeTo(500, 1); 
        }, function() { 
         $('div#thumbnails').stop().fadeTo(500, 0, hideThumbs()); 
         function hideThumbs() { 
           $('div#thumbnails').hide(); 
         } 
         }); 

J'ai aussi essayé

$('div#thumbnails').css('display','none'); 

au lieu du .hide() mais qui ne font rien.

Toute aide serait géniale! Merci

Répondre

1

Avez-vous essayé comme ceci:

$('#menu_thumbnails').toggle(function() { 
         $('div#thumbnails').show(); 
         $('div#thumbnails').stop().fadeTo(500, 1); 
        }, function() { 
         $('div#thumbnails').stop().fadeTo(500, 0, 
          function(){$(this).hide()}); 
         }); 
+0

Cela a fonctionné! Merci. Je suppose que vous ne pouvez pas appeler les fonctions. – Annie

+0

Le problème est probablement que hideThumbs() n'est pas dans la portée, lorsque le callback est exécuté. Vous pouvez également le déclarer comme une fonction globale, je suppose. – cypheon

+0

Je viens de remarquer que vous ne passez pas hideThumbs lui-même en tant que gestionnaire de callback, mais à la place le * result * d'un appel hideThumbs(). Donc "fadeTo (500, 0, hideThumbs)" devrait aussi faire l'affaire. – cypheon

0

Je ne suis pas un expert en jquery mais je pense que le problème est que vous utilisez .toggle(). toggle() réagit à l'état de l'attribut d'affichage de votre sélecteur. S'il est visible, il sera masqué et affichera s'il est caché. Donc, il ne sera jamais "déclicable" avec bascule.

Questions connexes