jQuery hide()并不等于hide(0)

在实际使用中,经常用hide()函数来隐藏HTML元素,通常是没有什么问题的,但在一次做二级下拉菜单时遇到了问题,后来才发现有时候“speed”是不能省略的,即使“speed=0”,也就是说hide()在某些时候并不等于hide(0),下面拿实例来证明:

在做一个网站的二级下拉导航,设计了一个简单的jQuery,代码如下:

 

<script type="text/javascript">
jQuery(document).ready(function($) {
$('#nav li').hover(function() {
$('.sub', this).slideDown(300);
},function() {
$('.sub',this).hide();
});
});
</script>

 

测试了一下效果不错,但是发现如果鼠标运动太快的话,下拉菜单将无法隐藏,出现多个下拉菜单同时显示的情况,看来hide()失效了?后经多次修改发现,只要添加speed参数就能正常。
speed用来设定隐藏的速度,数值越小隐藏速度越快,当需要立即隐藏时,speed可以设置为0,在平时的应用中我们会将0省略掉,但是在这个例子中我 将speed取值500、300、50、0,程序均能取得满意效果,但是省掉speed后就出现失效的情况,说明在某些情况下speed是不能省略 的,hide()并不等于hide(0)!
当然在这个例子中也可以用slideUp()来代替hide(),在函数slideUp(speed)中参数speed是可以省略的。

 

<script type="text/javascript">
jQuery(document).ready(function($) {
$('#nav li').hover(function() {
$('.sub', this).slideDown(300);
},function() {
$('.sub',this).slideUp();
});
});
</script>

转载于:https://www.cnblogs.com/tnnyang/p/4238550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值