为什么以下不工作?我如何点击一个元素,稍微隐藏一下,然后显示它? http://jsfiddle.net/ba8bJ/jQuery延迟和隐藏元素
$('#myButton').click(function() {$(this).hide().delay(800).show()});
为什么以下不工作?我如何点击一个元素,稍微隐藏一下,然后显示它? http://jsfiddle.net/ba8bJ/jQuery延迟和隐藏元素
$('#myButton').click(function() {$(this).hide().delay(800).show()});
hide()
和show()
只有指定的期间内被使用的动画队列。
您可以提供的0
的持续时间和简单的写:
$("#myButton").click(function() {
$(this).hide(0).delay(800).show(0);
});
你会发现一个更新的小提琴here。
一般来说,delay()
是动画。使用setTimeout()
来代替:
$('#myButton').click(function() {
var $this = $(this).hide();
setTimeout(function() {
$this.show();
}, 800);
});
感谢杰森,我认为隐藏/显示有限的动画,但显然不是。 – user1032531
$('#myButton').click(function() {
$(this).fadeOut(0).delay(800).fadeIn(0)
});
延迟仅适用于动画/查询功能
谢谢Spokey,尽管Jason的回答更能回答我误导的问题,但这可能是我最终会做的。 – user1032531
传递一个时间显示()和隐藏(),因为在设置的持续时间,.show()
成为一个动画方法:
$('#myButton').on('click', function() {
$(this).hide(0).delay(800).show(0);
});
感谢Frederic。啊,这是我错过的。 – user1032531