0

このjqueryコードがあります。アイデアは、div1 をクリックすると div2 が表示され、その逆も同様です。divの読み込みが遅いです。私は本当に奇妙なものを見ています。div をロードするアニメーションが発生する前に、ユーザーが 2 回クリックすると、両方の div がページに表示されます。jqueryでページが読み込まれることを確認し、クリックするとdiv2が表示されるようにする方法はありますか。一度に1つのdivを表示したい。

 $(function () {

                $('#div1').click(function () {
                    $('#div1').hide();                
                    $('#div2').show(3000);
                });
                $('#div2').click(function () {
                    $('#div2').hide();
                    $('#div1').each(function()
                    {
                        if($(this).html()!='')    
                        $(this).show(3000);
                    }); 
                });
             });
4

2 に答える 2

1

を呼び出す前に、アニメーション キューをクリアしてみてくださいhide

$(function () {
    $('#div1').click(function () {
        $('#div1').stop(true).hide();                
        $('#div2').show(3000);
    });
    $('#div2').click(function () {
        $('#div2').stop(true).hide();
        $('#div1').each(function()
        {
            if($(this).html()!='')    
            $(this).show(3000);
        }); 
    });
 });

http://api.jquery.com/stop/

于 2012-11-27T17:03:13.907 に答える
0

コードは正しいですが、コールバックで div を表示します。例:

$('#div1').click(function () {
     $('#div1').hide(100, function() {
          $('#div2').show(3000);
     });                 
});

あなたのページのリンクを投稿できますか?多分CSSに依存します。

于 2012-11-27T17:03:10.340 に答える