【学习笔记】锋利的jQuery(三)事件和动画

一、jQuery事件

1,加载事件

$(document).ready(function(){...}) //等同于$(function(){..})
$(window).load(function(){...}) //等同于window.onload = fn

2,基本事件绑定

bind(type,[.data],fn)  //可绑定多个事件:bind("mouseover mouseout",fn)
unbind(type,fn) //解除绑定
one(type,[.data],fn) //绑定的事件只执行一次

//简写绑定
click(fn)/dblclick(fn)
mouseover(fn)/mouseout(fn)
mouseenter(fn)/mouseleave(fn) //不包括移出元素内部的子元素
scroll(fn) //常用表单事件
focus(fn)/blur(fn)
keyup(fn)/keydown(fn) //按下和松下按键
keypress(fn) //按了个键值时候
change(fn) //表单文本域(input:text,textarea,select)值改变时触发

//合成事件
hover(fn1,fn2) //相当于bind("mouseenter")和bind("mouseleave")
toggle(fn1,fn2,fn3...) //连续单击事件,轮番调用多个函数 trigger(type) //触发对应type的事件,会执行浏览器默认操作,type可为自定义名称
triggerHandler(type) //绑定type事件,且阻止浏览器默认操作

3,事件的命名空间

bind("click.name",fn);
bind("mouseover.name",fn);
bind("click",fn); unbind(".name"); //命名空间解绑
trigger("click!"); //匹配不包含命名空间的click,即第三个

4,event事件对象

bind(type,function(event){....})  //添加事件对象参数,推荐命名为event或e,原理上可随便命名

//event属性
event.type
event.target
event.relatedTarget //触发事件的相关元素
event.pageX/event.pageY //相对于页面的x和y坐标
event.which //键盘事件:返回按键的ASCALL码,点击事件:1(左)2(中)3(右)。jq中整合了keyCode和charCode的兼容及鼠标事件
event.keyCode //返回按键的ASCALL码,建议用which//event方法,两个同时使用,相当于事件里边添加"return false;"
event.stopPropagation(); //阻止冒泡
event.preventDefault(); //阻止浏览器事件默认行为

 注意:jQuery中,获取和设置类似disabled和checked属性时,用prop()方法代替attr(),只有true/false值。

二、jQuery动画

/*
*params:动画的最终样式或值的效果,如{left:"+=500px"},left会进行累加
*speed:动画时间,单位ms。slow为600,normal为400,fast为200
*callback:动画完成后执行的回调函数
*/
animate(params,speed,callback);
$div.animate().animate()... //按顺序执行动画
.stop([clearQueue],[goEnd]) //两个布尔值参数可选,无参数仅停止当前动画
.delay() //推迟执行 //动画简写
hide()/show() //相当于css("display":"none/block/inline")
slideUp()/slideDown() //通过高度上下拉伸隐藏
fadeIn()/fadeOut() //淡进、淡出
fadeTo(speed,~) //渐进方式调到指定透明度 //组合动画
toggle()
slideToggle()
fadeToggle() //animate(params,500),常用的params
{scrollTop:"-=50"}
{height:"+=50"} 
上一篇:js判断是否是数字通用写法


下一篇:N层电梯只停一层情况下,求所有人爬楼层数最少