toggle()隐藏问题的解决方法 - Web前端
作者:98wpeu发布时间:2026-06-28分类:网页前端技术浏览:2
导读:最近编写一个实例的时候使用到toggle函数,但是调用的时候会把元素隐藏掉,之前使用过也只是多个事件轮流切换罢了。百思不得其解于是就在网上搜索查看JQueryAPI文档。终于发现了...
最近编写一个实例的时候使用到toggle函数,但是调用的时候会把元素隐藏掉,之前使用过也只是多个事件轮流切换罢了。百思不得其解于是就在网上搜索查看JQueryAPI文档。终于发现了原因:
原来在jQuery 1.9版本之后,toggle()发生了变化,以下是官网的Notes:
Note: this method signature was dePRecated in jquery 1.8 and removed in jquery 1.9. JQuery also provides an Animation methodnamed .toggle() that toggles the visibility of elements. Whether the animation or the event method is fired depends on the set of argumentspassed.
在早期的版本,存在两个同名的toggle(),但是所执行的方法却是不一样的:
.toggle( handler(eventObject), handler(eventObject) [, handler(eventObject) ] )
Description: bind two or more handlers to the matched elements, to be executed on alternate clicks.
=====================================================
.toggle( [duration ] [, complete ] )
Description: Display or hide the matched elements.
而之后的版本把第一个toggle()函数给去掉了,导致用于调用切换功能时会把元素隐藏了。
========================
既然去掉了这个函数,但是实现需求还是要的。怎么来实现多个事件的轮流切换了?
可以通过click事件判断不同的情况来触发,或者通过设置一个变量计数点击次数来执行不同的函数。
复制代码 代码如下:
var num=0;
$('#button').click(function(e){
if(num++ %2 == 0){
//doSomething
}else{
//doOtherSomething
}
e.preventDefault(); //阻止元素的默认动作(如果存在)
});
原来在jQuery 1.9版本之后,toggle()发生了变化,以下是官网的Notes:
Note: this method signature was dePRecated in jquery 1.8 and removed in jquery 1.9. JQuery also provides an Animation methodnamed .toggle() that toggles the visibility of elements. Whether the animation or the event method is fired depends on the set of argumentspassed.
在早期的版本,存在两个同名的toggle(),但是所执行的方法却是不一样的:
.toggle( handler(eventObject), handler(eventObject) [, handler(eventObject) ] )
Description: bind two or more handlers to the matched elements, to be executed on alternate clicks.
=====================================================
.toggle( [duration ] [, complete ] )
Description: Display or hide the matched elements.
而之后的版本把第一个toggle()函数给去掉了,导致用于调用切换功能时会把元素隐藏了。
========================
既然去掉了这个函数,但是实现需求还是要的。怎么来实现多个事件的轮流切换了?
可以通过click事件判断不同的情况来触发,或者通过设置一个变量计数点击次数来执行不同的函数。
复制代码 代码如下:
var num=0;
$('#button').click(function(e){
if(num++ %2 == 0){
//doSomething
}else{
//doOtherSomething
}
e.preventDefault(); //阻止元素的默认动作(如果存在)
});
- 上一篇:jqGrid增加时--判断开始日期与结束日期(实例解析) - Web前端
- 下一篇:已经是最后一篇了
相关推荐
- jqGrid增加时--判断开始日期与结束日期(实例解析) - Web前端
- jQuery设置div一直在页面顶部显示的方法 - Web前端
- iframe子页面获取父页面元素的方法 - Web前端
- 当鼠标移动时出现特效的JQuery代码 - Web前端
- jQuery实现用户注册的表单验证示例 - Web前端
- jquery next nextAll nextUntil siblings的区别介绍 - Web前端
- 让元素在网页中可拖动示例代码 - Web前端
- 了解了这些才能开始发挥jQuery的威力 - Web前端
- 简单实用jquery版三级联动select示例 - Web前端
- 选择器中含有空格在使用示例及注意事项 - Web前端
- 网页前端技术排行
-
- 1【第六章】Foundation之按钮和下拉功能 - Web前端
- 2jQuery编写widget的一些技巧分享 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 9JS网页制作实例:标签云 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


