jquery中的hover方法教程—明河谈jquery

news/2024/7/11 1:23:55 标签: jquery, function

jQuery中的hover方法是个非常常用的方法,接受二个参数,第一个参数为鼠标移入对象时触发的事件,第二个参数为鼠标移出对象时触发的事件。

很多人误以为hover()是mouserover和mouseout的结合体,实际上不是。

hover =  mouseenter+mouseleave

mouseenter和mouseleave这二个事件,jquery新手应该会觉得很陌生,实际上它实现的功能和mouserover和mouseout是极为类似的,那为什么会出现这二个事件,而不使用mouserover和mouseout呢?

这就要从mouseout的诡异bug说起了,mouseout会在你离开子元素的时候就把事件冒泡到父元素上,也就是说不管你的鼠标是否还在父元素中,只要你一离开子元素,就会触发mouseout。

这说法非常的抽象,来看demo:

http://www.36ria.com/demo/hover/demo.html

尤其看下第三个关于mouseout的示例,你就会发现这个问题的所在。

例子的代码非常简单,这里就不再累述,重点说明下最后一个例子的写法:

$('.selectorClass4').hover(function(){
        this.check = this.check || 1;
        $(this).stop().fadeTo('slow',this.check++%2==0 ? 1 : 0.4);
    });

留意了,这里的hover只有一个参数,也就是只有移入事件,但同样实现了移入和移出。那是如何实现的呢?
非常关键的一个属性:this.check

大家可以使用alert(this.check )试下,非常有意思,奇数为移入,而偶数为移出,但注意第一次移入为undefined,所以才需要this.check = this.check || 1;当this.check不存在时赋值1

文章引自:http://www.36ria.com/1756


http://www.niftyadmin.cn/n/1732329.html

相关文章

Jquery中如何获取元素的文本,值,属性和内容

jQuery DOM 操作jQuery 中非常重要的部分,就是操作 DOM 的能力。jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。提示:DOM Document Object Model(文档对象模型)DOM 定义访问 HTML 和 XML …

jQuery下获取浏览器、可视范围及其他的各种宽高

<script type"text/javascript"> $(document).ready(function() { alert($(window).height()); //浏览器时下窗口可视区域高度 alert($(document).height()); //浏览器时下窗口文档的高度 alert($(document.body).height());//浏览器时下窗口文档body的高…

Jquery中Show(),hide()方法的使用

jQuery hide() 和 show()通过 jQuery&#xff0c;您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素&#xff1a; $("#hide").click(function(){ $("p").hide();}); $("#show").click(function(){ $("p").show();}); 语法&am…

css问题filter: alpha(opacity=100,finishopacity=0,style=2)

alpha是来设置透明度的,它的基本属性是filter&#xff1a;alpha&#xff08;opacity&#xff0c;finishopacity&#xff0c; style&#xff0c;startX&#xff0c;startY&#xff0c;finishX&#xff0c;finishY&#xff09;. opacity代表透明度数,选值0-100,0是完全透明,100是…

Chrome浏览器、火狐等浏览器上和IE类浏览器(360、qq等)有所不同,目前已发现的不同以及解决办法

1、Chrome浏览器、火狐等浏览器上和IE类浏览器&#xff08;360、qq等&#xff09;有所不同&#xff0c;目前已发现的不同以及解决办法&#xff1a; &#xff08;1&#xff09; IE是parent.document&#xff0c;Chrome是parent.contentDocument 解决办法&#xff08;通用型&a…

Jquery使用post方式进行异步请求

jQuery.post( url, [data], [callback], [type] ) &#xff1a;使用POST方式来进行异步请求参数&#xff1a;url(String) : 发送请求的URL地址.data(Map) : (可选) 要发送给服务器的数据&#xff0c;以 Key/value 的键值对形式表示。callback(Function) : (可选) 载入成功时回调…

JQuery 弹出层,始终显示在屏幕正中间

上一篇是关于遮罩层的展示&#xff1a; 链接地址为&#xff1a;http://xutao5641745.iteye.com/blog/1310955 样式代码&#xff1a; .model{position: absolute; z-index: 1003; width:320px; height:320px; text-align:center;background-color:#0066FF; display: none;}jq…

尤雨溪公布 Vue 3.0 开发路线:将从头开始重写 3.0

在上周的 Vue.js 伦敦大会上&#xff0c;Vue.js 作者尤雨溪简要介绍了 Vue 下一个主要版本要发布的内容&#xff0c;9 月 30 日&#xff0c;尤雨溪在 medium 个人博客上发布了 Vue 3.0 的开发路线&#xff0c;我们不妨看看 Vue 3.0 将会有怎样的发展。兼容按照尤雨溪的说法&…