文档加载事件
.ready(fn)
$(document).ready(function(){
});
与window.onload方法的区别
执行时间
window.onload方法是在页面中所有的DOM元素(包括元素的所有关联文件)完全加载到浏览器后才执行。
通过$(document).ready()方法注册的事件处理函数,只要DOM元素加载完成就可以执行,不管元素所关联的文件是否加载完成。
1.1.多次使用
Window.onload事件只能添加一个回调函数。原因是JavaScript的onload事件一次只能保存对一个函数的引用,它会自动用后面的函数覆盖前面的函数(相当于重新赋值),因此不能在现有的行为上添加新的行为。
window.onload = function(){
alert(1); //不会执行
};
window.onload = function(){
alert(2); //会执行
}
简写形式
$(function(){
//编写代码
});
()。当$()不带参数时,默认参数就是“document”,因此可以简写为:
$().ready(function(){
//编写代码
});
1.2.绑定事件处理函数
on()
将一个或多个事件的处理方法绑定到被选择的元素上。on()方法适用于当前或未来的元素,如用脚本创建的新元素。
参数说明:
events:字符串,一个或多个用空格分隔的事件类型。
selector:字符串,选择器
data:对象,传递给事件处理函数的数据,作为event.data的属性值存在。
handler:函数,事件处理函数。
用法一:on( events [, selector ] [, data ], handler )
用法二:on( events [, selector ] [, data ] )
$("a").on("click", {
"food":"haha"
}, function(event) {
$("p").text(event.data.food);
})
one()
给元素注册只监听一次的事件处理函数。一旦事件处理函数执行后,就会自动删除。
参数说明:
events:字符串,一个或多个用空格分隔的事件类型。
selector:字符串,选择器
data:对象,传递给事件处理函数的数据,作为event.data的属性值存在。
handler:函数,事件处理函数。
用法一:one( events [, data ], handler ) 用法二:one( events [, selector ] [, data ], handler ) 用法三:one( events [, selector ] [, data ] )
支持多少事件名称
事件
blur keydown click load
focus keypress dblclick unload
focusin keyup mousedown resize
focusout mouseup scroll
submit mousemove error
change mouseover
select mouseout
mouseenter
mouseleave
1.3.解绑事件处理函数
off() 移除事件处理函数。
参数说明:
events:字符串,一个或多个以空格分隔的事件名称(想要移除的事件名称)。
selector:字符串,选择要移除哪些元素上的事件处理函数(必须和传入的DOM节点一致)。
handler:函数,想要移除的事件处理函数。
用法一:off( events [, selector ] [, handler ] ) 用法一:off( events [, selector ] ) 用法一:off( events ) 用法一:off()
$('p').off(); // 移除所有
$('p').off('click'); // 移除点击事件(而不会移除其他的事件)
$('body').off('click', $('p'),f1); // 移除点击事件,而且是p标签的,同时会移除f1函数(而不会移除其他的事件)
1.4.触发事件
trigger(eventType, extraParameters)
eventType:字符串,指定要模拟的事件名称。 extraParameters:数组或对象,传递给事件处理函数的附加参数。
$("#btn").click(function(){
alert("xxx");
}).trigger("click");
1.5.键盘事件
keydown(Function)
功能描述:给键盘按下事件绑定处理函数。 参数说明: Function: 表示键盘按下时要执行的函数。
keypress(Function)
功能描述:给键盘被按着不放的事件绑定处理函数。 参数说明: Function: 表示键盘被按着不放时要执行的函数。
keyup(Function)
功能描述:给键盘弹起事件绑定处理函数。 参数说明: Function: 表示键盘弹起时要执行的函数。
$("input:eq(0)").keydown(function (event) {
$(this).css("background-color", "red");
});
$("input:eq(1)").keypress(function (event) {
$(this).css("background-color", "green");
});
$("input:eq(2)").keyup(function (event) {
$(this).css("background-color", "blue");
});
1.6.鼠标事件
click(Function)
功能描述:给鼠标单击事件绑定处理函数。 参数说明: Function: 表示鼠标单击要执行的函数。
$("#box1").click(function (event) {
console.log(event.type);
});
dblclick(Function)
功能描述:给鼠标双击事件绑定处理函数。 参数说明: Function: 表示鼠标双击要执行的函数。
$("#box1").dblclick(function (event) {
console.log(event.type);
});
mousedown(Function)
功能描述:给鼠标按下的事件绑定处理函数。 参数说明: Function: 表示鼠标按下后要执行的函数。
$("#box1").mousedown(function (event) {
console.log(event.type);
});
mouseup()
功能描述:给鼠标弹起的事件绑定处理函数。 参数说明: Function: 表示鼠标弹起后要执行的函数。
$("#box1").mouseup(function (event) {
console.log(event.type);
});
mouseenter()
功能描述:给鼠标进入事件绑定处理函数。 参数说明: Function: 表示鼠标进入元素时要执行的函数。
$("#box1").mouseenter(function (event) {
console.log(event.type+"我进了边界!");
});
mouseover()
功能描述:给鼠标进入到元素上的事件绑定处理函数。 参数说明: Function: 表示鼠标进入到元素上时要执行的函数。
$("#box1").mouseover(function (event) {
console.log(event.type+"我在元素上了!");
});
mouseleave()
功能描述:给鼠标离开事件绑定处理函数。 参数说明: Function: 表示鼠标离开元素时要执行的函数。
$("#box1").mouseleave(function (event) {
console.log(event.type+"我出了边界!");
});
mouseout()
功能描述:给鼠标离开后的事件绑定处理函数。 参数说明: Function: 表示鼠标离开元素后要执行的函数。
$("#box1").mouseout(function (event) {
console.log(event.type+"我在元素外面了!");
});
mousemove()
功能描述:给鼠标在元素上移动的事件绑定处理函数。 参数说明: Function: 表示鼠标在元素上移动时要执行的函数。
$("#box1").mousemove(function (event) {
console.log(event.type+"我在元素上移动了!");
});
hover(inFunction, outFunction)
功能描述:该事件是mouseenter()和mouseout()方法的简写形式。
参数说明:
inFunction: 表示鼠标刚进入元素边界时要执行的函数。
outFunction: 表示鼠标刚离开元素边界时要执行的函数。
$("#box1").hover(function (event) {
console.log(event.type+"我进了边界!");
},function (event) {
console.log(event.type+"我出了边界!");
});
1.7. 表单事件
blur()
change()
focus()
focusin()
focusout()
select()
$(').focusin(function(event){
console.log(event.type) // 焦点刚进入时触发
})
.focus(function(event){
console.log(event.type) // 已经获取焦点时触发
})
.focusout(function(event){
console.log(event.type) // 焦点刚要失去时触发
})
.blur(function(event){
console.log(event.type) // 失去焦点时触发
})
.change(function(event){
console.log(event.type) // 当输入框中的内容发生改变时,并失去焦点后触发
})
.select(function(){
console.log(event.type) // 当输入框中的内容被选中时触发
})
submit()
表单提交时会触发的事件
$(').submit(function(event){
console.log(event.type)
event.preventDefault();
// return false;
});
2.jQuery的动画效果
2.1.显示与隐藏效果
show(speed, easing, callback)
功能描述:显示隐藏的匹配元素
参数说明:
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
$("div").show(3000);
hide(speed, easing, callback)
功能描述:隐藏显示的元素
参数说明:
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
$("div").hide(3000, function(){
alert("xxx");
});
toggle(speed, easing, callback)
功能描述:在被选元素上进行 hide() 和 show() 之间的切换。
参数说明:
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
$("div").toggle("slow", function() {
console.log("切换完成");
});
2.2.自定义动画效果
animate(properties,speed, easing, callback)
properties: 必须。设置相关动画需要的CSS的属性内容。
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
$("div").animate({
width : 100,
height : 100,
top : 500,
left : 500
},3000,function(){
alert("xxx");
});
注意:有些CSS的属性不能使用
backgroundColor
borderBottomColor
borderLeftColor
borderRightColor
borderTopColor
color
outlineColor
2.3.淡入淡出效果
fadeIn(speed, easing, callback)
淡入 (隐藏)
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
$("div").fadeIn(3000);
fadeOut(speed, easing, callback)
淡出
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
$("div").fadeOut(3000);
fadeTo(speed, opacity, easing, callback)
将被选元素的透明度逐渐地改变为指定的值
speed: 必需。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
opacity: 必需。规定要淡入或淡出的透明度。必须是介于 0.00 与 1.00 之间的数字
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
$("div").fadeTo('slow', 0.5);
fadeToggle(speed, easing, callback)
功能描述:在fadeIn()和fadeOut()两个方法之间切换。 参数说明:
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
2.4.滑动效果
slideDown(speed, easing, callback)
向下展开动态显示元素。
参数说明:
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
slideUp(speed, easing, callback)
向上关闭隐藏元素。
参数说明:
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数
slideToggle(speed, easing, callback)
功能描述:在关闭和展开之间切换。
参数说明:
speed: 可选。表示动画执行的时长,默认值是400毫秒。可选的值:以毫秒为单位的数值、“slow”、“fast”。
easing: 可选。指定动画在不同时刻的速度。默认值是"swing"。可选的值:"swing"开始和结束比较慢,中间快;"linear"匀速运动。
callback: 可选。表示动画执行完毕后的回调函数