为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery的delay方法为什么这样用没效果?

jQuery的delay方法为什么这样用没效果?

陪伴而非守候 2018-12-07 09:37:25
我的代码: <!DOCTYPE html><html><head> <title>Demo</title> <script src="jquery.min.js" type="text/javascript"></script> <style type="text/css"> #test{ width:100px; height:100px; background:#CCC; } </style> <script type="text/javascript"> $(function(){ //$("#test").delay(2000).hide(); $("#test").show(500).delay(2000).hide(500); //$("#test").show().delay(2000).hide(); }); </script></head><body> <div id="test"></div></body></html> 为什么用我注释掉的两种写法不行?
查看完整描述

4 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

jQuery文档中已经说明了这个:

Only subsequent events in a queue are delayed; for example this will not delay the no-arguments forms of .show() or .hide() which do not use the effects queue.

在队列中的事件才能被delay

查看完整回答
反对 回复 2018-12-24
?
湖上湖

TA贡献2003条经验 获得超2个赞

如果你隐藏的时候用hide,那么显示的时候就要用show.

查看完整回答
反对 回复 2018-12-24
?
POPMUISE

TA贡献1765条经验 获得超5个赞

$("#test").delay(2000).hide();这个为什么不行呢?
查看完整回答
反对 回复 2018-12-24
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

我觉得“最佳答案”没答到点上,动画效果本来默认就是在“fx”队列里的,“$("#test").show(500).delay(2000).hide(500);”事实上应该是可行的,我先hide再show的结果是可行。

查看完整回答
反对 回复 2018-12-24
  • 4 回答
  • 0 关注
  • 563 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号