2009-06-24 5 views
1

Voici le code que je utiliseJquery Slickbox problème de bascule

$(document).ready(function(){ 
     $('#slickbox').hide(); 
     // toggles the slickbox on clicking the noted link 
     $('a#slick-show').click(function() { 
      $('#slickbox').show('slow'); 
      return false; 
     }); 

     // hides the slickbox on clicking the noted link 

     $('a#slick-hide').click(function() { 
      $('#slickbox').hide('fast'); 
      return false; 
     }); 
     // toggles the slickbox on clicking the noted link 

     $('a#slick-toggle').click(function() { 
      $('#slickbox').toggle(400); 
      return false; 
     }); 
    }); 

Voici le code HTML:

<div id="slickbox"> BLARGH</div> 
<a href="#" id="slick-show">Show</a> 
<a href="#" id="slick-hide">hide</a> 
<a href="#" id="slick-toggle">toggle</a> 

afficher et masquer le travail parfaitement bien. Blargh est caché lorsque le navigateur s'ouvre et je peux le montrer et le cacher mais en cliquant sur les liens. Mon problème, c'est que lorsque je clique, si brièvement les diapositives s'ouvrent pour montrer blargh et ensuite les diapositives se ferment. Je peux cliquer dessus autant de fois que je veux et ça fait la même chose. Comment puis-je l'obtenir pour rester affiché et puis cliquez à nouveau pour le cacher?

Répondre

2
$('a#slick-toggle').click(function() { 
    $('#slickbox').is(":visible") ? $('#slickbox').hide("fast") : $('#slickbox').show("slow"); 
    return false; 
}); 

ou vous pouvez déclencher les clics des liaisons affichage/masquage et de cette façon vous n'auriez pas à changer la mise en œuvre de a#slick-toggle si vous décidez de changer les animations:

$('a#slick-toggle').click(function() { 
    $('#slickbox').is(":visible") ? $('a#slick-hide').trigger("click") : $('a#slick-show').trigger("click"); 
    return false; 
}); 
0
$('a#slick-toggle').toggle(function() { 
      $('#slickbox').show(); 
      return false; 
     }, function() { 
      $('#slickbox').hide(); 
     });