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 相关文章推荐
取键盘键位ASCII码的网页
Jul 30 Javascript
JS删除数组元素的函数介绍
Mar 27 Javascript
js实现单一html页面两套css切换代码
Apr 11 Javascript
location对象的属性和方法应用(解析URL)
Apr 12 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
Oct 09 Javascript
php is_numberic函数造成的SQL注入漏洞
Mar 10 Javascript
jquery实现可旋转可拖拽的文字效果代码
Jan 27 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
May 11 Javascript
js Canvas绘制圆形时钟教程
Feb 06 Javascript
JavaScript之underscore_动力节点Java学院整理
Jul 03 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
Aug 27 Javascript
vue 判断页面是首次进入还是再次刷新的实例
Nov 05 Javascript
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
php 向访客和爬虫显示不同的内容
2009/11/09 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
php实现文件预览功能
2017/05/23 PHP
javascript知识点收藏
2007/02/22 Javascript
JavaScript 学习笔记(十一)
2010/01/19 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
Python进程间通信用法实例
2015/06/04 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
如何基于python操作json文件获取内容
2019/12/24 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
python读取文件指定行内容实例讲解
2020/03/02 Python
Spy++的使用方法及下载教程
2021/01/29 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
家长会主持词开场白
2015/05/29 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL