2014-02-24 131 views

回答

3

hide()show()只有指定的期间内被使用的动画队列。

您可以提供的0的持续时间和简单的写:

$("#myButton").click(function() { 
    $(this).hide(0).delay(800).show(0); 
}); 

你会发现一个更新的小提琴here

+0

感谢Frederic。啊,这是我错过的。 – user1032531

2

一般来说,delay()是动画。使用setTimeout()来代替:

http://jsfiddle.net/rGqpn/

$('#myButton').click(function() { 
    var $this = $(this).hide(); 
    setTimeout(function() { 
     $this.show(); 
    }, 800); 
}); 
+0

感谢杰森,我认为隐藏/显示有限的动画,但显然不是。 – user1032531

2
$('#myButton').click(function() { 
    $(this).fadeOut(0).delay(800).fadeIn(0) 
}); 

延迟仅适用于动画/查询功能

+0

谢谢Spokey,尽管Jason的回答更能回答我误导的问题,但这可能是我最终会做的。 – user1032531

1

传递一个时间显示()和隐藏(),因为在设置的持续时间,.show()成为一个动画方法:

$('#myButton').on('click', function() { 
    $(this).hide(0).delay(800).show(0); 
}); 

JSFiddle