jQuery学习笔记(三)

jQuery中的事件和动画

jquery中的事件

  • 加载DOM

两者等价但有细微区别

$(document).ready(function(){//编写代码}) 在DOM完全就绪时就可以被调用。可重复使用

简写  $(function(){//...}) 或者 $().ready(function(){//...})

$(window).load(function(){//编写代码}) 是在网页中所有的元素(包括元素的关联文件)完全加载到浏览器后才执行,即JavaScript此时才可以访问网页中的任何元素。会自动覆盖。

  • 事件绑定

bind(type[.data].fn); 调用格式

type事件类型参数:blur, focus, load, resize, scroll, unload, click, dbclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error或者自定义事件

data:可选参数 :作为event.data属性值传递给事件对象的额外数据对象

fn参数:用来绑定的处理函数

  • 合成事件

1.hover()方法 用于模拟光标悬停事件,代替bind("mouseenter")和bind("mouseleave")

$("selector").hover(enter,leave)

2..toggle()方法 用于模拟鼠标连续点击事件,特殊用法:切换元素可见状态

 $("selector").toggle(fn1,fn2,...,fnN) 

3.高亮样式

.highlight{background:#ff3300;}

  • 事件冒泡

事件对象 : $("element").bind("click",function(event){//event:事件对象...})

当单击element元素时,事件对象被创建,这个对象只有事件处理函数才能访问到。事件处理函数执行完毕后,事件对象就被销毁了。

停止事件冒泡:event.stopPropagation()

阻止默认行为:event.preventDefault()

同时对事件对象停止冒泡和默认行为:return false;

  • 事件对象的属性

even.type 获取事件类型

event.stopPropagation() 停止事件冒泡

event.preventDefault() 阻止默认行为

even.target 获取到触发事件的元素

event.relatedTarget 访问事件相关元素

event.pageX / event.pageY 获取光标相对于页面的x坐标和y坐标

event.which 在鼠标单击事件中获取鼠标的左、中、右键;在键盘事件中获取键盘的按键(返回值1=鼠标左键;2=鼠标中键;3=鼠标右键)

event.metaKey 键盘事件中获取<ctrl>按键

  • 移除事件

1.unbind()方法  $("selector").unbind(type.[data])

type 事件类型

data 要移除的函数

a)如果没有参数,则删除所有绑定的事件

b)如果提供了事件类型参数,则只删除该类型的绑定事件

c)如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除

2.one()方法  $("selector").one(type,[data].fn)

当处理函数触发一次后,立即被删除。

  • 模拟操作

1. 常用模拟  $("#btn").trigger("click");  当页面装载完毕后,就会立刻输出想要的效果

2.触发自定义事件  $("#btn").trigger(“myClick”)

3.传递数据  $("#btn").trigger(type,[data])

  • 其他用法

1.绑定多个事件类型  ("selector").bind("type1 type2",function(){//...})

2.添加事件命名空间  $("selector").bind("type.命名空间",function(){//...})

3.匹配所有不包含在命名空间内的click方法  $("selector").trigger("type!")



jQuery中的动画

  • show()方法和hide()方法

$("selector").show()   $("selector").hide()

1.没有参数时等同于通过设置display的样式

2.传入参数后,.show()和.hide()方法同时动画改变元素的width,height和透明属性

3.传入参数控制显隐速度,单位毫秒,如.show(600),也可传入fast,normal,slow,fast为200毫秒,normal为400毫秒,slow为600毫秒)

  • fadeIn()方法和fadeOut()方法

$("selector").fadeIn()  $("selector").fadeOut()

只改变元素的不透明度

  • slideUp()方法和sliDown()方法

$("selector").slideUp()   $("selector").slideDown()

只改变元素高度

  • 自定义动画方法animate()

$("selector").animate(params,speed,callback);

a)params:一个包含样式属性及值的映射,比如{property1:"value1",property2:"value2",...}

b)speed:速度参数,可选

c)callback:在动画完成时执行的参数(即回调函数),可选

  • 动画回调函数

因css()方法不会加入动画队列中,则会马上执行。如若要在动画最后改变selector的css,需要利用回调函数,回调函数适用于jQuery所有的动画效果方法。

  • 停止动画和判断是否处于动画状态

1.停止元素的动画 结束当前动画,如队列中存在下一个动画则立即执行下一个动画

$("selector").stop([clearQueue][,gotoEnd])

clearQueue参数为Boolean值(true or false),是否清空当前元素接下来尚未执行完的动画队列

gotoEnd参数为Boolean值(true or false),是否将正在执行的动画直接到达末状态

2.判断元素是否处于动画状态

if(!$("element").is(":animated")){ //判断元素是否正处于动画状态
 //如果当前没有进行动画,则添加新动画
}
  • 其他动画方法

toggle(speed,[callback]); 切换元素的可见状态,如元素隐藏则切换为可见,反之亦然

slideToggle(speed,[callback]); 通过高度变化来切换元素的可见性

fadeTo(speed,opacity,[callback])  把元素的不透明度以渐进方式调整到指定的值,如$("selector").fadeTo(600,0.2);以600毫秒速度将内容调整到20%透明度

  • 动画方法概括

toggle() 用来代替hide()和show()
slideToggle() 用来代替slideUp()和slideDown()
animate() 可代替所有动画方法

时间: 2024-10-15 05:28:12

jQuery学习笔记(三)的相关文章

jQuery学习笔记(三)jQuery中的动画

1 show() 方法和hide() 方法  (显示和隐藏) show() 方法和hide() 方法是jQuery中基本的动画方法.在HTML文档里,为一个元素调用hide() 方法,会将该元素的display样式改为“none”. $("element").hide(); //通过hide()方法将element元素隐藏 $("element").css("display","none"); //通过css()方法将elem

jQuery学习笔记之过滤器三(向上查找兄弟元素、向下查找兄弟元素)

向上查找兄弟元素的方法:prev方法.prevAll方法.prevUntil方法 向下查找兄弟元素:next方法.nextAll方法.nextUntil方法 向上查找兄弟元素 1.prev方法 2.prevAll方法 3.prevUntil方法 向下查找兄弟元素 1.next方法 2.nextAll方法 3.nextUntil方法 jQuery学习笔记之过滤器三(向上查找兄弟元素.向下查找兄弟元素)

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

jQuery学习笔记10:Ajax技术

jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. jQuery 采用了三层封装:最底层的封装方法为:$.ajax(),而通过这层封装了第二层有三种方法:.load().$.get()和$.post(),最高层是$.getScript()和$.getJSON()方法. 函数 描述 jQuery.ajax() 执行异步 HTTP (Ajax) 请求. .ajaxComplete() 当 Ajax 请求完成时注册要调用的处理程序.这是一个

Ajax学习笔记(三)

三.jQuery库详解 1.使用jQuery之后,javascript操作的不再是HTML元素对应的DOM对象,而是包装DOM对象的jQuery对象.js通过调用jQuery对象的方法来改变它所包装的DOM对象的属性,从而实现动态更新HTML页面. 由此可见,使用jQuery动态更新HTML页面只需以下两个步骤: (1)获取jQuery对象.jQuery对象通常是DOM对象的包装 (2)调用jQuery对象的方法来改变自身.当jQuery对象被改变时,jQuery包装的DOM对象随之改变,HTM

锋利的JQuery 学习笔记

第一章 认识JQuery ·页面加载事件(可以写多个ready())$(document).ready(function(){alert(“hello world”);}) ·链式操作:JQuery允许你在一句代码中操做任何与其相关联的元素,包括其子元素.父元素等//选择名称为myDiv的元素,为其自身添加css1的样式,然后再选择其所有子元素a,为其移除css2样式$(“#myDiv”).addClass(“css1″).children(“a”).removeClass(“css2″); ·

jQuery学习笔记——jQuery基础核心

代码风格 在jQuery程序中,不管是页面元素的选择.内置的功能函数,都是美元符号“$”来起始的.而这个“$”就是jQuery当中最重要且独有的对象:jQuery对象,所以我们在页面元素选择或执行功能函数的时候可以这么写: $(function () {}); //执行一个匿名函数 $(‘#box’);//进行执行的ID元素选择 $(‘#box’).css(‘color’, ‘red’);//执行功能函数由于$本身就是jQuery对象的缩写形式,那么也就是说上面的三段代码也可以写成如下形式:jQ

jQuery学习笔记——jQuery常规选择器

一.简单选择器在使用 jQuery 选择器时,我们首先必须使用“$()”函数来包装我们的 CSS 规则.而CSS 规则作为参数传递到 jQuery 对象内部后,再返回包含页面中对应元素的 jQuery 对象.随后,我们就可以对这个获取到的 DOM 节点进行行为操作了.#box {//使用 ID 选择器的 CSS 规则color:red;//将 ID 为 box 的元素字体颜色变红}在 jQuery 选择器里,我们使用如下的方式获取同样的结果:$('#box').css('color', 'red

Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle&lt;T&gt;

Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle<T> 今天 说一下Caliburn.Micro的IEventAggregator和IHandle<T>分成两篇去讲这一篇写一个简单的例子 看一它的的实现和源码 下一篇用它们做一个多语言的demo 这两个是事件的订阅和广播,很强大,但用的时候要小心发生不必要的冲突. 先看一下它的实现思想 在Caliburn.Micro里EventAggregator要以单例的形式出现这样可以

Js脚本之jQuery学习笔记(1)

Js脚本之jQuery学习笔记(1) 一.javascript基础 单行注释 多行注释 /* */ 数据类型 数值型 字符串型 布尔型 空值 未定义值 转义字符 函数定义:1234567891011121314<head><script language="javascript"function test(m){var xixi="嘻嘻"alert("这是javascript")document.write(xixi + m)}