为什么以下不起作用?如何单击元素,将其隐藏一段时间,然后显示它? http://jsfiddle.net/ba8bJ/
$('#myButton').click(function() {$(this).hide().delay(800).show()});
答案 0 :(得分:3)
hide()
和show()
仅使用动画队列。
您可以提供0
的持续时间,只需写下:
$("#myButton").click(function() {
$(this).hide(0).delay(800).show(0);
});
您会找到更新的小提琴here。
答案 1 :(得分:2)
一般来说,delay()
用于制作动画。请改用setTimeout()
:
$('#myButton').click(function () {
var $this = $(this).hide();
setTimeout(function() {
$this.show();
}, 800);
});
答案 2 :(得分:2)
$('#myButton').click(function () {
$(this).fadeOut(0).delay(800).fadeIn(0)
});
延迟仅适用于动画/查询功能
答案 3 :(得分:1)
将持续时间传递给show()和hide(),因为当提供持续时间时,.show()
成为动画方法:
$('#myButton').on('click', function() {
$(this).hide(0).delay(800).show(0);
});
<强> JSFiddle 强>