JQuery的事件

 /**
* 1.事件绑定的快捷方式:
*/
$("button:eq(0)").dblclick(function(){
alert("hahaah")
});
缺点:绑定的事件无法取消。 /**
* 2.使用on进行事件绑定。
*/
//2.1使用on进行单事件绑定。
$("button:eq(0)").on("click",function(){
alert("haha");
}); //2.2使用on进行多事件绑定。
$("button:eq(0)").on("click dblclick mouseover",function(){
console.log("123");
}); //2.3使用on同时给多个事件分别绑定不同的函数。
$("button:eq(0)").on({
"click":function(){
console.log("click");
},
"mouseover":function(){
console.log("mouseover");
}
}); //2.4 使用on给回调函数传参,要求是对象格式,传递的参数可以在e.data中取到。
$("button:eq(0)").on("click",{"name":"zhangsan"},function(e){
console.log(e);
console.log(e.data);
console.log(e.data.name);
});

事件委派

  1.事件委派:将原来绑定在DOM节点上的事件,改为绑定在其父节点甚至根结点上,然后委派给当前节点执行。

  2.事件委派的作用:

    (1)将事件直接绑定在根结点上,可以减少事件绑定次数,更加节省资源。

    (2)使用事件委派绑定的事件当页面新增同类型标签时,新的标签也可以获得绑定的已有事件。

其他事件函数

事件解绑

 $("button:eq(0)").off("click");//清除所有的click事件
$("button:eq(0)").off("click",func);//只清除绑定了func函数的click事件
$("button:eq(0)").off("click dblclick");//清除多个事件
$("button:eq(0)").off("click","p");//清除事件委派
$("p").off();//清除绑定的所有事件

one():使用one绑定是事件只能执行一次

$("button:eq(0)").one("click",function(){});//使用one绑定是事件只能执行一次

.trigger():自动触发某个节点绑定的事件

  接收两个参数:

    1.需要触发的事件类型。

    2.数组格式:表示传递给事件回调函数的参数。

                 $("button:eq(0)").on("click",function(e,a,b,c){
console.log(a);
console.log(b);
console.log(c);
console.log(arguments[1]); }); setTimeout(function(){
$("button:eq(0)").trigger("click",[1,2,3],function(){
console.log("trigger了一个事件");
});
},3000);

注意:

  ①事件回调函数的第一个参数必须是事件对象,因此我们传递的第二个开始接收。

  ②传递的参数可以使用arguments进行读取。

.triggerHandler():用法与tirgger()相同

triggerHandler()与trigger()的区别

  (1)triggerHandler() 不能触发HTML事件,例如表单的submit事件.而trigger()可以触发所有事件。

  (2)triggerHandler() 只能触发所匹配元素中的第一个元素的事件;trigger(),将触发所有匹配元素的事件。

  (3)triggerHandler() 的返回值是事件回调函数的返回值,如果事件回调函数没有返回值,则返回undefined;trigger的返回值永远是调用事件的DOM对象,符合JQ的链式语法。

.hover() :

    接受两个函数:分别表示mouseover()和mouseout()两个事件。如果只写一个函数,表示mouseover()。

 $("p:eq(0)").hover(function(){
$(this).css("background-color","red");
},function(){
$(this).css("background-color","blue");
});

.toggle():

  ①如果不传入参数,表示当前元素如果为显示状态,则隐藏,如果为隐藏状态,则显示。

  ②传入一个动画执行效果: "ease" ,"slow","fast"。

  ③传入一个函数,表示动画执行完成后显示的回调函数。

  ④接受一个boolean类型的参数,true为显示,fasle表示隐藏

 $("button:eq(0)").on("click",function(){
$("p:eq(0)").toggle();
$("p:eq(0)").toggle("ease");
$("p:eq(0)").toggle("ease",function(){alert(1)});
$("p:eq(0)").toggle(true/false);
});

JQuery的 动画

show()方法: 让隐藏元素显示。同时修改宽度,高度,透明度(width/height/opacity)

  ①不传参。直接显示,而不进行动画。

  ②参数传入时间毫秒,或者表示速度的字符串“slow”,"normal","fast"则将在制定时间内完成动画。

  ③参数也可以传入回调函数,表示动画完成后执行的回调函数。

hide():让显示的元素隐藏,效果与show()相反,其他一样。

                 $("#div1").show(3000,function(){
alert(123);
}); $("#div1").hide(3000);

slideXX():

  slideDown():让隐藏的元素显示,修改height属性。

  slideUp():让显示的元素隐藏,修改height属性。

  slideToggle(():让显示的元素隐藏,让隐藏是元素显示

                $("#div1").slideDown(3000);
$("#div1").slideUp(3000);
$("#div1").slideToggle(3000);

fadeXX():

  fadeOut():让显示的隐藏,修改透明度(opacity)

  fadeIn():让隐藏多少显示,修改透明度(opacity)

  fadeToggle():让显示的元素隐藏,让隐藏是元素显示,改透明度(opacity)

  fadeTo():作用月fadeToogle()相同,多了第二个参数,表示动画完成后的最终透明度。

                 $("#div1").fadeOut(3000);
$("#div1").fadeIn(3000);
$("#div1").fadeToggle(3000);
$("#div1").fadeTo(3000,0.25);

animate()

animate()动画:自定义动画,接受4个参数

  ①动画完成后最终状态的CSS键值对集合。注意:css的样式,要求使用驼峰命名法。

  ②动画完成的时间,可以是毫秒,可以是“slow”,"normal","fast"。

  ③动画完成的效果: 可选值"linear","swing"

  ④动画完成后的回调函数。

                $("#div1").animate({
"width":"0px",
"opacity":"0",
"fontSize":"34px"
},3000,"linear",function(){});

stop():停止当前节点的所有动画,后续动画不再执行,动画回调不再调用

finish():直接结束当前节点的所有动画,动画直接进入最后状态,直接调用动画回调。

                 $("button:eq(0)").click(function(){
/**
* 停止当前节点的所有动画,后续动画不再执行,动画回调不再调用
*/
$("#div1").stop();
/**
* 直接结束当前节点的所有动画,动画直接进入最后状态,直接调用动画回调。
*/
$("#div1").finish();
})

delay():延时动画,表示延时多少毫秒后再执行动画。

                 $("#div1").animate({
"fontSize":"64px"
},2000,"linear",function(){})
.delay(5000)//延时5秒执行下面的动画
.animate({
"width":"0px",
"opacity":"0",
"fontSize":"34px"
},3000,"linear",function(){});

JQuery(二)---- JQ的事件与动画详解的更多相关文章

  1. JQuery在循环中绑定事件的问题详解

    JQuery在循环中绑定事件的问题详解 有个页面上需要N个DOM,每个DOM里面的元素ID都要以数字结尾,比如说 ? 1 2 3 <input type="text" nam ...

  2. jquery移除、绑定、触发元素事件使用示例详解

    这篇文章主要介绍了jquery移除.绑定.触发元素事件使用示例详解,需要的朋友可以参考下. unbind(type [,data]) //data是要移除的函数 $('#btn').unbind(&q ...

  3. Android Animation动画详解(二): 组合动画特效

    前言 上一篇博客Android Animation动画详解(一): 补间动画 我已经为大家介绍了Android补间动画的四种形式,相信读过该博客的兄弟们一起都了解了.如果你还不了解,那点链接过去研读一 ...

  4. [转] ReactNative Animated动画详解

    http://web.jobbole.com/84962/     首页 所有文章 JavaScript HTML5 CSS 基础技术 前端职场 工具资源 更多频道▼ - 导航条 - 首页 所有文章 ...

  5. [转]超级强大的SVG SMIL animation动画详解

    超级强大的SVG SMIL animation动画详解 本文花费精力惊人,具有先驱前瞻性,转载规则以及申明见文末,当心予以追究.本文地址:http://www.zhangxinxu.com/wordp ...

  6. [转]Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法

    转载:http://blog.csdn.net/harvic880925/article/details/39996643 前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的 ...

  7. Android事件分发机制详解

    事件分发机制详解 一.基础知识介绍 1.经常用的事件有:MotionEvent.ACTION_DOWN,MotionEvent.ACTION_MOVE,MotionEvent.ACTION_UP等 2 ...

  8. Android开发——事件分发机制详解

    0. 前言   转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52566965 深入学习事件分发机制,是为了解决在Android开发中 ...

  9. Android Touch事件传递机制详解 下

    尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38025165 资源下载:http://download.csdn.net/detail/yu ...

随机推荐

  1. (NO.00004)iOS实现打砖块游戏(七):关卡类的实现

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 关卡游戏的精髓都集中在游戏的关卡里,其中包含了游戏的所有要素,至 ...

  2. JS 可变参数

     JS可变参数的方法不需要参数,同时,我们应该注意在写JS文件的时候避免定义arguments变量. <html> <head> <title>Javascri ...

  3. Maven项目中获取classpath和资源文件的路径

     假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么java文件夹和resources文件夹在运行时就是cl ...

  4. gitlab6 配置的几个问题说明

    gitlab6 配置的几个问题说明 按照gitlab的网站的详细步骤,终于把gitlab 6.1 stable安装到2台虚拟机上了.由于gitlab6运行于虚拟机上,所以配置这个虚拟机的hostnam ...

  5. Chapter 2 User Authentication, Authorization, and Security(11):在已还原的数据库中修正登录映射错误

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/39496517,专题目录:http://blog.csdn.net/dba_huangzj ...

  6. 小老虎的微信公众号:iITObserve

    小老虎的微信公众号:iITObserve 现在,都流行玩微信. 现在,都流行玩微信公众号. 所以,博客已经Out啦! 原来是微博,现在是微信.真的,时代发展太快了. 偶赶紧也弄了一个,尝尝鲜. 偶的微 ...

  7. 海量数据挖掘MMDS week3:社交网络之社区检测:基本技巧

    http://blog.csdn.net/pipisorry/article/details/49052057 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  8. Android进阶(十六)子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误

    原子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误 今天用子线程调Toast报 ...

  9. Android View底层到底是怎么绘制的

    Android绘制链图: 网上很多讲Android  view的绘制流程往往只讲到了Measure - Layout - Draw. 但是,这只是一个大体的流程,而我们需要探讨的是Android在我们 ...

  10. JavaScript进阶(六)用JavaScript读取和保存文件

    用JavaScript读取和保存文件 因为Google还不提供同步插件数据的功能,所以导入和导出插件配置就必须和文件打交道了.而出于安全原因,只有IE才提供访问文件的API:但随着HTML 5的到来, ...