2009-06-24 18 views
1

は、ここで私はjqueryのSlickboxトグル問題

$(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; 
     }); 
    }); 

を使用しているコードは、ここではHTMLコードですです。 Blarghはブラウザが開いたときに非表示になっています。リンクをクリックして表示/非表示できます。私の問題thoは、私がトグルをクリックすると、短く開いてぼんやりとしたスライドを表示し、スライドが閉じた場合です。私はそれを何度もクリックすることができますし、同じことをします。どのように表示されたままにしてからもう一度クリックすると隠すことができますか?

答えて

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

か、表示/非表示のバインディングのクリックをトリガーすることができ、あなたがa#slick-toggleの実装を変更する必要はありませんその方法は、あなたがアニメーションを変更することを決定する必要があります

$('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(); 
     });