JQuery中DOM事件合成用法实例分析


Posted in Javascript onJune 13, 2015

本文实例讲述了JQuery中DOM事件合成用法。分享给大家供大家参考。具体分析如下:

jQuery有两个合成事件——hover()方法和toggle()方法,类似前面讲过的ready()方法,hover()方法和toggle()方法都属于jQuery自定义的方法。

hover()方法

hover()方法的语法结构为:
hover(enter,leave);

hover()方法用于模拟光标悬停事件。当光标移动到元素上时,会触发指定的第1个函数(enter);当光标移出这个元素时,会触发指定的第2个函数(leave)。

代码为:

$(function(){
 $("#panel h5.head").hover(function(){
  $(this).next().show();
 },function(){
  $(this).next().hide(); 
 })
})

代码运行后的效果与下面代码运行后的效果是一样的。当光标滑过“标题”链接时,相应的“内容”将被显示;当光标滑出“标题”链接后,相应的“内容”则被隐藏。

$(function(){ 
 $("#panel h5.head").mouseover(function(){ 
  $(this).next("div.content").show(); 
 }); 
 $("#panel h5.head").mouseover(function(){ 
  $(this).next("div.content").hide(); 
 }) 
});

注意:

1. CSS中有伪类选择符,例如“:hover",当用户光标悬停在元素上时,会改变元素的外观。在大多数符合规范的浏览器中,伪类选择符可以用于任何元素。然而在IE 6浏览器中,伪类选择符仅可用于超链接元素。对于其他元素,可以使用jQuery的hover()方法。

2. hover()方法准确来说是替代jQuery中的bind("mouseenter")和bind("mouseleave"),而不是替代bind("mouseover")和bind("mouseout")。因此当需要触发hover()方法的第2个函数时,需要用trigger("mouseleave")来触发,而不是trigger("mouseout")。

toggle()方法

toggle()方法的语法结构为:
toggle(fnl, fn2, ...fnN);

toggle()方法用于模拟鼠标连续单击事件。第1次单击元素,触发指定的第1个函数(fn1);当再次单击同一元素时,则触发指定的第2个函数(fh2);如果有更多函数,则依次触发,直到最后一个。随后的每次单击都重复对这几个函数的轮番调用。

在前面的加强效果的例子中,使用了以下jQuery代码:

$(function(){
 $("#panel h5.head").toggle(function(){
  $(this).next().show();
 },function(){
  $(this).next().hide();
 })
})

通过使用toggle()方法不仅实现了同样的效果,同时也简化了代码。

toggle()方法在jQuery中还有另外一个作用:切换元素的可见状态。如果元素是可见的,单击切换后则为隐藏;如果元素是隐藏的,单击切换后则为可见的。因此上面的代码还可以写成如下jQuery代码:

$(function(){ 
 $("#panel h5.head").toggle(function(){ 
  $(this).next().toggle(); 
 },function(){ 
  $(this).next().toggle(); 
 }) 
})

为了能有更好的用户体验,现在需要在用户单击“标题”链接后,不仅显示“内容”,而且高亮显示“标题”。代码为:

$(function(){ 
 $("#panel h5.head").toggle(function(){ 
   $(this).addClass("highlight"); 
  $(this).next().show(); 
 },function(){ 
  $(this).removeClass("highlight"); 
   $(this).next().hide(); 
 }); 
})

运行代码后,如果“内容”是显示的,“标题”则会高亮显示:如果“内容”是隐藏的,则不会高亮显示“新闻标题”。

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
js类中的公有变量和私有变量
Jul 24 Javascript
读jQuery之六 缓存数据功能介绍
Jun 21 Javascript
三种检测iPhone/iPad设备方向的方法
Apr 23 Javascript
jquery实现弹出层效果实例
May 19 Javascript
Javascript for in的缺陷总结
Feb 03 Javascript
详解tween.js的使用教程
Sep 14 Javascript
详解node服务器中打开html文件的两种方法
Sep 18 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
Node.js+ELK日志规范的实现
May 23 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
js实现弹幕飞机效果
Aug 27 Javascript
vue使用v-model进行跨组件绑定的基本实现方法
Apr 28 Vue.js
JQuery中DOM事件绑定用法详解
Jun 13 #Javascript
JQuery中DOM加载与事件执行实例分析
Jun 13 #Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 #Javascript
JavaScript中的Math.E属性使用详解
Jun 12 #Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 #Javascript
JavaScript中的parse()方法使用简介
Jun 12 #Javascript
Javascript中setTimeOut和setInterval的定时器用法
Jun 12 #Javascript
You might like
用PHP4访问Oracle815
2006/10/09 PHP
用PHP的ob_start();控制您的浏览器cache!
2006/11/25 PHP
使用eAccelerator加密PHP程序
2008/10/03 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
Yii rules常用规则示例
2016/03/15 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
JQquery的一些使用心得分享
2012/08/01 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
几种响应式文字详解
2017/05/19 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python装饰器用法实例总结
2018/02/07 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
2018/05/21 Python
Python异常处理知识点总结
2019/02/18 Python
Django中Middleware中的函数详解
2019/07/18 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
工作收入住址证明
2014/10/28 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
新入职员工工作总结
2015/10/15 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
python中的被动信息搜集
2021/04/29 Python