jQuery事件与特效
1.事件分类
基础事件
鼠标事件
click( )
mouseover( )
mouseout( )
mouseenter( )
mouseleave( )
区别:
相同点:
鼠标进入被选元素时会触发
鼠标离开被选元素时会触发
不同点:
鼠标在其被选元素的子元素上来回进入时:
触发mouseover( )
不触发mouseenter
鼠标在其被选元素的子元素上来回离开时:
触发mouseout
不触发mouseleave
键盘事件
keydown( )
keyup( )
keypress( )
window事件
调整窗口大小时,完成页面特效
表单事件
提交
blur
focus
select
复合事件
鼠标光标悬停
hover( )方法
hover()方法相当于mouseover与mouseout事件的组合
hover(enter,leave);
触发:
$(".top-m .on").hover(function(){
$(".topDown").show();
},
function(){
$(".topDown").hide();
}
);
鼠标连续点击
toggle( )方法
toggle()方法用于模拟鼠标连续click事件
toggle(fn1,fn2,...,fnN); jQuery1.8之前有效。1.8之后方法移除
toggle()方法不带参数,与show( )和hide( )方法作用一样
$("input").click(function(){$("p").toggle();})
toggleClass( )可以对样式进行切换
$("input").click(function(){$("p").toggleClass("red");})
总结
toggle( fn1,fn2...)实现单击事件的切换,无须额外绑定click事件
toggle( )实现事件触发对象在显示和隐藏状态之间切换
toggleClass( )实现事件触发对象在加载某个样式和移除某个样式之间切换
2.绑定事件和移除事件
绑定事件:
bind(type,[data],fn);
事件类型,主要包括click、mouseover、mouseout等基础事件,此外,还可以是自定义事件
可选函数
处理函数
单个事件
$(document).ready(function(){
$(".on").bind("mouseover",function(){
$(".topDown").show();
});
});
多个事件
$(".top-m .on").bind({
mouseover:function(){
$(".topDown").show();
},
mouseout:function(){
$(".topDown").hide();
}
});
移除事件:
unbind([type],[fn])
事件类型,主要包括:blur、focus、click、mouseout等基础事件,此外,还可以是自定义事件
处理函数,函数名称
当unbind()不带参数时,表示移除所绑定的全部事件
$("#del").click(function(){
$("#nav li:first").unbind("click", content1)
});
3.jQuery动画效果
控制元素显示与隐藏
show() 控制元素的显示,hide( )控制元素的隐藏
$(selector).show([speed],[callback])
$(selector).hide([speed],[callback])
可选。表示速度,默认为“0”,可能值:毫秒(如1000)、slow、normal、fast
可选。show函数执行完之后,要执行的函数
改变元素的透明度
fadeIn()和fadeOut()可以通过改变元素的透明度实现淡入淡出效果
$(selector).fadeIn([speed],[callback])
$(selector).fadeOut([speed],[callback])
可选。表示速度,默认为“0”,可能值:毫秒(如1000)、slow、normal、fast
可选。show函数执行完之后,要执行的函数
改变元素高度
slideDown() 可以使元素逐步延伸显示
slideUp()则使元素逐步缩短直至隐藏
$(selector).slideUp ([speed],[callback])
$(selector).slideDown ([speed],[callback])
自定义动画