码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-01-21 13:19:13      阅读:205      评论:0      收藏: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>

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

标签:

原文地址:http://www.cnblogs.com/tnnyang/p/4238550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!