2

私はjQueryを学んでおり、これはこれまでの私のコードです:

<script type="text/javascript">
$(document).ready(function(){
    $('#login').click(function(){
        $('#login-box').fadeIn('fast');
    });
});
</script>

ログインボタンをクリックすると、呼び出されたDIVlogin-boxがページに表示されます。私がやりたかったのは、ログインボタンがもう一度クリックされた場合、login-boxDIV がページからフェードアウトすることでした。これを行う最良の方法は何ですか?私が考えていた:

$(document).ready(function(){
    $('#login').click(function(){
        if(login-box-is-showing)
        {
            $('#login-box').fadeOut('fast');
        } else {
            $('#login-box').fadeIn('fast');
        }
    });
});

しかし、DIV が表示されているかどうかを判断する方法がわかりません。また、jQuery にはトグル機能があることもわかりました。

ありがとう。

4

3 に答える 3

4

$("#login-box:visible")表示されているかどうかを教えてくれますが、表示されていないかどうかを教えてくれます$("#login-box:hidden")。ただし、これを処理する簡単な方法は、または少し追加の効果が必要な場合$.toggle()でも使用することです。$.slideToggle()

于 2010-01-06T19:37:41.583 に答える
3

toggle()を使いたいと思います。

于 2010-01-06T19:39:13.250 に答える
3

カール・スウェードベリより

jQuery.fn.fadeToggle = function(speed, easing, callback) { 
   return this.animate({opacity: 'toggle'}, speed, easing, callback); 
};

次に、これを行うことができます:

$("#login").click(function () { 
         $("#login-box").fadeToggle() 
 }); 
于 2010-01-06T19:41:30.960 に答える