第七章
jQuery中的事件与动画
1.jQuery中的事件
jQuery事件是对JavaScript事件的封装
1.鼠标事件
鼠标事件是当用户在文档上移动或单击鼠标时而产生的事件
click( ) 单击鼠标时
mouseover( ) 鼠标指针移过时
mouseout( ) 鼠标指针移出时
mouseenter( ) 鼠标指针进入时
mouseleave( ) 鼠标指针离开时
2.键盘事件
用户每次按下或者释放键盘上的键时都会产生事件,常用键盘事件
keydown( ) 按下键盘时
keyup( ) 释放按键时
keypress( ) 产生可打印的字符时
例: $("[type=password]").keyup(function () {
$("#events").append("keyup");
}).keydown(function (e) {
$("#events").append("keydown");
}).keypress(function () {
$("#events").append("keypress");
});
$(document).keydown(function (event) {
if (event.keyCode == "13") {
alert("确认要提交么?");
}
});
3.浏览器事件
$(selector).resize( );
调整窗口大小时,完成页面特效
2.绑定事件与移除事件
1.绑定事件
bind(type,data,fn);
type 事件类型,主要包括click、mouseover、mouseout等基础事件,此外,还可以是自定义事件
data 可选函数
fn 处理函数
例: $(document).ready(function(){
$(".on").bind("mouseover",function(){
$(".topDown").show();
});
});
2.移除事件
unbind(type,fn);
type 事件类型,主要包括:blur、focus、click、mouseout等基础事件,此外,还可以是自定义事件
fn 处理函数
注:当unbind()不带参数时,表示移除所绑定的全部事件
3.复合事件
1.hover()方法
hover()方法相当于mouseover与mouseout事件的组合
hover(enter,leave);
例:$(".top-m .on").hover(function(){
$(".topDown").show(); //光标移入时触发
},
function(){
$(".topDown").hide(); //光标移出时触发
}
);
2.toggle()方法
toggle()方法用于模拟鼠标连续click事件
toggle(fn1,fn2,...,fnN);
例:$("input").toggle(
function(){$("body").css("background","#ff0000");},
function(){$("body").css("background","#00ff00");},
function(){$("body").css("background","#0000ff");}
)
toggle()方法不带参数,与show( )和hide( )方法作用一样
toggle( );
例:$("input").click(function(){$("p").toggle();})
toggleClass( )可以对样式进行切换
toggleClass(className);
例:$("input").click(function(){$("p").toggleClass("red");})
注:oggle( fn1,fn2...)实现单击事件的切换,无须额外绑定click事件;
toggle( )实现事件触发对象在显示和隐藏状态之间切换;
toggleClass( )实现事件触发对象在加载某个样式和移除某个样式之间切换
4.jQuery动画效果
1.控制元素的显示及隐藏
show() 控制元素的显示,hide( )控制元素的隐藏
$(selector).show([speed],[callback])
$(selector).hide([speed],[callback])
speed 可选。表示速度,默认为“0”,可能值:毫秒(如1000)、slow、normal、fast
callback 可选。show函数执行完之后,要执行的函数
2.改变元素的透明度
fadeIn()和fadeOut()可以通过改变元素的透明度实现淡入淡出效果
$(selector).fadeIn([speed],[callback])
$(selector).fadeOut([speed],[callback])
speed 可选。表示速度,默认为“0”,可能值:毫秒(如1000)、slow、normal、fast
callback 可选。show函数执行完之后,要执行的函数
3.改变元素的高度
slideDown() 可以使元素逐步延伸显示;slideUp()则使元素逐步缩短直至隐藏
$(selector).slideUp ([speed],[callback])
$(selector).slideDown ([speed],[callback])
例:$(document).ready(function() {
$("h2").click(function(){
$(".txt").slideUp("slow");
$(".txt").slideDown("slow");
});
});
4.自定义动画
$(selector). animate({params},speed,callback)
params 必须,定义形成动画的CSS属性