51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

jquerydom对象的事件隐藏显示和对象数组示例

1.事件处理

1.1.事件绑订

bind(type,fn);

例子:
++复制代码++ 代码如下:

$(function(){

//正式的写法
$('#d1').bind('click',function(){
$(this).css('font-size','80px');
});

//简写形式
$('#d1').click(function(){
$(this).css('font-size','80px');
});
});

1.2.绑订方式的简写形式
++复制代码++ 代码如下:

click(function(){
});

1.3.合成事件

hover(enter,leave) : 模拟光标悬停事件
toggle(fn1,fn2...) : 模拟鼠标连续单击事件

例子1:
++复制代码++ 代码如下:

$(function(){
//分开的事件
$('.s1').mouseenter(function(){
$(this).addClass('s2');
});

$('.s1').mouseleave(function(){
$(this).removeClass('s2');
});

//合成事件
$('.s1').hover(function(){
$(this).addClass('s2');
},function(){
$(this).removeClass('s2');
});
});

例子2:
++复制代码++ 代码如下:

$(function(){
$('#a1').toggle(function(){
$('#d1').show('slow');
},function(){
$('#d1').hide('slow');
});
});


1.4.事件冒泡//子节点产生的事件会依次向上抛给父节点

1.4.1.获得事件对象//只需要给事件处理函数添加一个任意变量即可,比如e
//e不是真正的事件对象,而是对底层的事件对象的一个封装

click(function(e){

});

例子1:
++复制代码++ 代码如下:

$(function(){
$('a').click(function(e){
//e:jQuery对象,里面包含了一个事件对象。
//target属性返回的是一个dom对象,即事件源。
var srcObject = e.target;
alert(srcObject.innerHTML);
});
});

1.4.2.停止冒泡

event.stopPropagation();

例子2:
++复制代码++ 代码如下:

$(function(){
$('a').click(function(e){
alert('你点击了一个链接');
//停止冒泡
e.stopPropagation();
});

$('#d1').click(function(e){
alert('你点击了一个div');
});
});

1.4.3.停止默认行为

event.preventDefault();//比如表单提交

例子3:
++复制代码++ 代码如下:

$(function(){
$('a').click(function(e){
var flag = confirm('是否确定删除?');
if(!flag){
//停止默认行为
e.preventDefault();
}
});
});


1.5.事件对象的属性

event.type : 事件类型
event.target : 返回事件源(是dom对象!!!)
event.pageX/pageY : 点击的点的坐标

例子4:
++复制代码++ 代码如下:

$(function(){
$('a').click(function(e){

alert(e.type); //获得事件类型

alert(e.pageX + ' ' +e.pageY);

});
});

1.6.模拟操作//如.$('xxx').mouseenter();

$('xxx').trigger('被模拟的事件');//也可以简化

例子5:
++复制代码++ 代码如下:

$(function(){
$('#b1').click(function(){
//让username对应的文本输入框获得焦点
$('#username').trigger('focus');
//另外,也可以简化
$('#username').focus();
});
});

2.动画

2.1.show() / hide()//显示 / 隐藏
//作用:通过同时改变元素的宽度和高度来实现显示和隐藏

用法:
show(速度,[回调函数]);

速度可以使用"normal","fast","slow",也可以使用毫秒数

回调函数会在整个动画执行完毕之后执行

2.2.slideUp() / slideDown()

//作用:通过改变元素的高度来实现显示和隐藏
用法同上。


例子:
++复制代码++ 代码如下:

$(function(){
$('#a1').toggle(function(){

$('#d1').show('slow');

$('#d1').slideDown('slow');

},function(){

$('#d1').hide('slow');

$('#d1').slideUp('slow');

});
});


2.3.fadeIn() / fadeOut()//淡入,淡出

//作用:通过改变元素的不透明度来实现显示和隐藏
用法同上。

例子:
++复制代码++ 代码如下:

$(function(){
$('#b1').toggle(function(){

$('#d1').fadeOut('slow');

},function(){

$('#d1').fadeIn('slow');

});
});

2.4.自定义动画

animate(params,speed,[callback])

params : //是一个javascript对象,描述的是动画执行结束时的样式。

speed : //速度,单位是毫秒。

callback : //回调函数,会在动画执行完毕之后执行。


例子:
++复制代码++ 代码如下:

$(function(){
$('#d1').click(function(){
//动画队列
$(this).animate({'left':'400px'},3000);
$(this).animate({'top':'250'},2000).fadeOut('slow');
});
});


3.类数组的操作

//类数组:指的是jQuery选择器会将查找到的所有的dom对象封装成一个jQuery对象,
//将这些dom对象称为类数组。

3.1.length属性 : //获得jQuery对象包含的dom对象的个数。

3.2.each(fun(i)) : //循环遍历每一个元素,this代表被迭代的dom对象,
//$(this)代表被迭代的jquery对象。

3.3.eq(index) : //返回index+1位置处的jquery对象

3.4.index(obj) : //返回下标,其中obj可以是dom对象或者jquery对象。

3.5.get() : //返回dom对象组成的数组

3.6.get(index) : //返回index+1个dom对象。

例子:
++复制代码++ 代码如下:

$(function(){
$('#b1').click(function(){
//var $obj = $('ul li');
alert($obj.length);

$obj.each(function(i){
//i:表示正在被访问的那个dom对象的下标,
//下标从0开始。
//this:表示正在被访问的那个dom对象
if(i==0){
$(this).css('font-size','60px');
}else if(i==1){
$(this).css('font-style','italic');
}else{
$(this).css('color','red');
}
});

//var $obj = $('ul li');
var $o = $obj.eq(1);
//$o.css('font-size','60px');
var index = $obj.index($o);
//alert(index);

//var $obj = $('ul li');
var arr = $obj.get();
//alert(arr[1].innerHTML);

var $obj = $('ul li');
var obj = $obj.get(1);
alert(obj.innerHTML);
});
});


赞(0)
未经允许不得转载:工具盒子 » jquerydom对象的事件隐藏显示和对象数组示例