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>

时间: 2024-10-25 18:52:14

jQuery hide()并不等于hide(0)的相关文章

[2016-10-24]jQuery学习回顾笔记1.0

一.如何把 jQuery 添加到网页 <script> 标签应该位于页面的 <head> 部分. <head> <script src="jquery.js"></script> </head> 在html5中,因为JavaScript 是 HTML5 以及所有现代浏览器中的默认脚本语言!<script> 标签中不需要使用 type="text/javascript",当然如果不是的

(转载)你好,C++(17)0.1*10不等于1.0——4.1.4 关系操作符4.1.5 逻辑操作符

你好,C++(17)0.1*10不等于1.0——4.1.4 关系操作符4.1.5 逻辑操作符 4.1.4  关系操作符 在C++中,除了需要用算术操作符对数据进行加减乘除的算术操作之外,我们有时候还需要对数据之间的关系进行操作,也就是对两个数据进行大小比较,得出它们之间的大小关系.在现实世界中,这种大小关系的比较是非常常见的.例如,这家摊位上的西红柿5元一斤,而另外一家相同的西红柿却只卖3元一斤,5和3一比较,就知道第二家的西红柿更便宜了.我们说,程序是用来抽象和描述现实世界的,为了在程序中表达

你好,C++(17)0.1*10不等于1.0——4.1.4 关系操作符4.1.5 逻辑操作符

4.1.4  关系操作符 在C++中,除了需要用算术操作符对数据进行加减乘除的算术操作之外,我们有时候还需要对数据之间的关系进行操作,也就是对两个数据进行大小比较,得出它们之间的大小关系.在现实世界中,这种大小关系的比较是非常常见的.例如,这家摊位上的西红柿5元一斤,而另外一家相同的西红柿却只卖3元一斤,5和3一比较,就知道第二家的西红柿更便宜了.我们说,程序是用来抽象和描述现实世界的,为了在程序中表达这种大小关系的比较,C++专门提供了关系操作符,包括“>”(大于).“>=”(大于或等于).

字符加上&#39;0&#39;等于ascii码值48, 不加引号0等于数值0

'\0'不是指ASCII码值, 它是字符, 它的ASCII码值是0 '\0'==0 0 数字 48 空格 ASCII码值是32 main() { char a='\0'; if(a==0) printf("A ASCII is 0\n"); if(a==' ') printf("A is space\n"); printf("*%c*\n",a); getch(); } 单引号是字符 双引号是字符串 什么都不加是数字 加单引号的表示字符零,即ch

使用 NuGet 更新套件時將 jQuery 升級到 2.0.2 應該如何降級

我們在 Visual Studio 2012 裡面會使用 NuGet 管理員管理那些常用的開發函式庫,例如jQuery.Json.NET. EntityFramework.ELMAH.… 等等.各位可能也了解到,目前 jQuery 最新版為 2.0.2 版,這個最新版基本上僅支援 IE9 以上瀏覽器 ( IE8 以下不支援 ),因此大部分人應該都不會選擇安裝最新版的 jQuery,但是在使用 NuGet 安裝或更新套件的過程中,卻有可能不小心將 jQuery 套件自動升級到最新版,導致網站發生許

jquery中animate的使用 0.0

一.使用方法 1.$("div").animate( {width:"300px"}); $("div").animate( {'width':'300px'}); $("div").animate( {'width':300+"px"}); $("div").animate( {'width':300}); $("div").animate( {width:300}

jquery 按回城 等于提交按钮

$(document).keydown(function(e){                    if(e.keyCode==13){                        $('.button_sub').click();                    }                }); $('.button_sub').click(function(){                    $('.loginForm').submit();          

jquery的show/hide性能测试

这篇文章是jQuery各种 show/hide方式的性能测试.作者之所以测试这个源于Robert Duffy在SanFrancisco举行的jQuery大会上的一句话:".hide()和.show()的执行速度会比直接改变css慢".但由于未能找RobertDuffy问明原因,所以作者就自己去做了这个测试.下面的翻译并不是全文翻译,只节选了一些重点. 用作测试的是一个含有100个div的HTML页面,div带有 class和一些内容.为了排除掉寻找这些div所花费的时间,所以把选择器$

Jquery基础之hide,show,toggle

1.认识JQurey,在上面的博文中有提到,实现同样的效果,引用jquery可以减少很多代码.jquery的宗旨就是write less,do more,这就好比我们能够借用jquey这个强大的javascript库来减少我们的代码量.搭建jquery环境也比较简单,一个是下载jquery文件库到本地引用,还有一个直接引用文件库的URL,这里提供一个1.9.0的地址: <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js&quo