在jquery上显示和隐藏div

时间:2012-11-27 16:56:57

标签: jquery

我有这段jquery代码。想法是在点击div1时显示div2,反之亦然。我正在缓慢加载div。我看到一些非常奇怪的东西。在加载div的动画发生之前,用户点击两次,两个div显示在页面上。在jquery中是否有一种方法可以确保页面加载,然后如果单击则显示div2。我想一次显示一个div。

 $(function () {

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

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

代码是正确的,但在回调中显示div。 例如:

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

您可以发布您网页的链接吗?也许取决于CSS。