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)

相关推荐

  • JavaScript DOM 添加事件

    因为对于支持DOM的浏览器来说,添加事件是用addEventListener()方法来给对象添加事件! 而对于MSIE来说则是用attachEvent()来给对象添加事件!这就使得我们必须用一个容器来装载这两个不同浏览器上对事件的处理方式!这样我们就可以直接调用addEvent()方法来给对象添加事件了! 这不是更方便?!呵呵-- 让我们来看看吧! /** * 注册一个监听事件到元素 * @param {Object} node 所要添加事件的对象 * @param {Object} type

  • DOM中事件处理概览与原理的全面解析

    事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信,DOM支持大量的事件: 本文通过这几点向大家详细解析事件处理的基本原理:事件类型.事件目标.事件处理程序.事件对象.事件传播 最后再向大家介绍Event对象: 一.事件类型(event type):是一个用来说明发生了什么类型事件的全小写的字符串,如'mouseover' 传统事件类型:表单事件,Window事件,鼠标事件,键盘事件,DOM事件, HTML5事件,触摸屏和移动设备事件等 二.事件目标(event target):触

  • Javascript Event事件中IE与标准DOM的比较

    1.事件流的区别 IE采用冒泡型事件 Netscape使用捕获型事件 DOM使用先捕获后冒泡型事件 示例: 复制代码 代码如下: <body> <div> <button>点击这里</button> </div> </body> 冒泡型事件模型: button->div->body (IE事件流) 捕获型事件模型: body->div->button (Netscape事件流) DOM事件模型: body-&g

  • 一些主流JS框架中DOMReady事件的实现小结

    原来比较常用的是window的onload 事件,而该事件的实际效果是:当页面解析/DOM树建立完成,并完成了诸如图片.脚本.样式表甚至是iframe中所有资源的下载后才触发的.这对于很多 实际的应用而言有点太"迟"了,比较影响用户体验.为了解决这个问题,ff中便增加了一个DOMContentLoaded方法,与onload相比,该 方法触发的时间更早,它是在页面的DOM内容加载完成后即触发,而无需等待其他资源的加载.Webkit引擎从版本525(Webkit nightly 1/20

  • IE之动态添加DOM节点触发window.resize事件

    然后页面有几个事件是动态地增加DOM元素的,比如点击某个层会在底下列出该层详细内容,这样在FF和chrome下没出现问题,但是在IE6-8下每次都重布局了. 比如我拖动一个层,在拖动过程中层的内容又显示在最底下了,当我放开层的时候这个层就跳回拖动前的位置了... 起先我还没看出来是重布局了...然后演示了N久,挣扎了N久,终于觉得可能是由于动态增加DOM节点导致触发window.resize而使页面重布局了... 最后我不由地在心里喊了句"Thank godness....",还好改变

  • Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码

    在调试功能模块时候,发现怎么用什么方法都无法在infowindow里面添加的div进行绑定事件处理.郁闷啊!上网搜了好多方法也没用, 后来想想还是查了一下官方的API,发现了google.maps.InfoWindow下面的Events里面有个domready事件 官方解释: This event is fired when the containing the InfoWindow's content is attached to the DOM. You may wish to monito

  • jquery中dom操作和事件的实例学习 下拉框应用

    今天这个demo是有关下拉框的. 复制代码 代码如下: <div class="centent"> <select multiple="multiple" id="select1" style="width:100px;height:160px;"> <option value="1">选项1</option> <option value="2

  • javascript 删除dom对象的事件函数代码

    JS添加/删除事件在IE和支持dom浏览器分别为:attachEvent(ie中的添加事件),detachEvent(ie中的删除事件),addEventListener(支持dom浏览器中的添加事件),removeEventListener(支持dom浏览器中的删除事件). 例如第一次点击黑色区域的时候弹出警告,并移除click事件,也就是第二次再点击的时候就没反应了,整合代码如下: 添加删除事件 var EventUtil=new Object; //oTarget:目标:sEventTyp

  • jQuery 选择器、DOM操作、事件、动画

    Jquery选择器 $(document).ready(function(){}) $(function(){}) 如果获取的对象是jQuery对象,那么在变量前面加上$,例如:var $variable=jQuery对象 选择器 1, 判断页面是否存在某元素:if($("#tt").length>0){} 或者if($("#tt")[0]){}; 2, 基本选择器 $("#test") 选择id为test的元素 $(".test

  • JQuery为页面Dom元素绑定事件及解除绑定方法

    1.绑定事件 复制代码 代码如下: $('#id').bind("click",function(){ ... }) 可一次性绑定多个事件 复制代码 代码如下: $('#id').bind("click mouseover mouseout",function(){ ... }) 2.解除绑定 复制代码 代码如下: $('#id').unbind("click") 3.绑定一次 复制代码 代码如下: $('#id').one("clic

随机推荐