当前位置:首页 > 开发 > Web前端 > Jquery > 正文

jQuery hover()方法和jQuery toggle()方法用法示例

发表于: 2014-08-21   作者:agevs   来源:转载   浏览次数:
摘要: jQuery hover()方法和jQuery toggle()方法是两个合成事件,类似ready()方法,都属于jQuery自定义的方法。下面来讲解这两个方法的属性和如何使用。 一、hover()方法:语法结构为: hover(enter,leave)。用于模拟光标悬停事件。当光标移动到目标元素上时,会触发指定第1个函数(enter);当移出这个元素时,会触发第2个函数(leave)。前端框架

jQuery hover()方法和jQuery toggle()方法是两个合成事件,类似ready()方法,都属于jQuery自定义的方法。下面来讲解这两个方法的属性和如何使用。

一、hover()方法:语法结构为: hover(enter,leave)。用于模拟光标悬停事件。当光标移动到目标元素上时,会触发指定第1个函数(enter);当移出这个元素时,会触发第2个函数(leave)。前端框架UI分享

下面是一段示例代码:

$(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();  
    })  
});

 

注意:CSS中有伪类选择符,例如“:hover”,当光标悬停于元素上时,会改变元素的外观。伪类选择符可以用于任何元素。然而在IE 6浏览器中,伪类选择符仅可用于超链接元素。对于其他元素,可以使用jQuery的hover()方法。前端框架UI分享

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

二、toggle()方法:语法结构为:toggle(fnl, fn2, …fnN)。主要用于模拟鼠标连续单击事件。第1次单击元素,触发指定的第1个函数(fn1);当再次单击同一元素时,则触发指定的第2个函数(fh2);如果有更多函数,则依次触发,直到最后一个。随后的每次单击都重复对这几个函数的循环调用。

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

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

 

使用toggle()不仅获得了相同效果,而且也简化了代码。

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

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

 

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

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

 

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

jQuery hover()方法和jQuery toggle()方法用法示例

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
首先看一下jQuery api 1.8 中文版.chm关于其post放方法的api: jQuery 的api已经说得很清楚了,只是
本文出自:http://blog.csdn.net/liuyanzhi08/article/details/8860042 我想用toggle来切换多个单击
var validator = $('#add-menu-form').validate({ errorElement: 'div', errorClass: 'help-block',
jquery中data() 方法向被选元素附加数据,或者从被选元素获取数据。这使我们通过HTML自定义属性,操
用chrome浏览器打开页面,按f12调出开发者调试模式,查看elements,部分代码如下图所示,注意红框部
共享学习Jquery源码的一些东西 jQuery.extend({ expando : 生成唯一JQ字符串(内部) noConflict() :
1 . jQuery帮助之Ajax请求(一)jQuery.ajax(options) 2 . jQuery帮助之Ajax请求(二)jQuery.get(u
jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件,其中的函数和方法允许我们在不刷新浏览
jQuery之Ajax方法 收藏 1 . jQuery帮助之Ajax请求(一)jQuery.ajax(options) 2 . jQuery帮助之Ajax
jQuery 提供多个处理尺寸的重要方法: width()设置或返回元素的宽度(不包括内边距、边框或外边距)
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号