JQuery DOM 操作(上)
什么是JQuery
jQuery是一个轻量级的JavaScript库,它极大地简化了JavaScript编程。
jQuery包含以下功能:
HTML元素选取HTML元素操作CSS操作HTML事件函数JavaScript特效和动画HTMLDOM遍历和修改AJAXUtilities
使用
官网下载导入
https://jquery.com/download/
CDN载入jQueryhttps://www.bootcdn.cn/jquery/
语法
jQuery语法是通过选取HTML元素,并对选取的元素执行某些操作。
基础语法:
1 | $(selector).action() |
通过美元符号($)定义jQuery。
- 文档就绪事件
为了防止文档在完全加载(就绪)之前运行
jQuery代码,即在DOM加载完成后才可以对DOM进行操作。如果在文档没有完全加载之前就运行函数,操作可能失败。
1 | $(document).ready(function(){ |
简洁写法:
1 | $(function() { |
选择器
jQuery选择器可以快速选择HTML元素进行操作。
元素选择器
- 基于元素名选取元素
1 | $(document).ready(function(){ |
id(#)选择器- 基于
id选取元素
- 基于
1 | $(document).ready(function(){ |
class(.)选择器- 基于
class选取元素
- 基于
1 | $(document).ready(function(){ |
事件
事件,即页面对访问者的响应。
常见DOM事件
| 鼠标事件 | 键盘事件 | 表单事件 | 文档/窗口事件 |
|---|---|---|---|
| click | keypress | submit | load |
| dblclick | keydown | change | resize |
| mouseenter | keyup | focus | scroll |
| mouseleave | blur | unload | |
| hover |
- 事件方法
点击事件click()
1 | $("p").click(function(){ |
双击事件dblclick()
1 | $("p").dblclick(function(){ |
鼠标进入mouseenter()
鼠标离开mouseleave()
按下鼠标mousedown()
松开鼠标mouseup()
光标悬停hover()
元素获得焦点focus()
元素失去焦点blur()
使用方式大体相同,具体实现效果根据需求使用。
jQuery效果
显示/隐藏
通过
jQuery,可以使用hide()和show()方法来隐藏和显示HTML元素。
1 | <!DOCTYPE html> |
语法:
1 | $(selector).hide(speed,callback); |
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
1 |
|
通过
jQuery,还可以使用toggle()方法来切换hide()和show()方法。
1 |
|
淡入淡出
fadeIn()
jQueryfadeIn()用于淡入已隐藏的元素。
1 |
|
语法:
1 | $(selector).fadeIn(speed,callback); |
fadeOut()
jQueryfadeOut()方法用于淡出可见元素。
1 |
|
语法:
1 | $(selector).fadeOut(speed,callback); |
fadeToggle()
jQueryfadeToggle()方法可以在fadeIn()与fadeOut()方法之间进行切换。
如果元素已淡出,则 fadeToggle() 会向元素添加淡入效果。
如果元素已淡入,则 fadeToggle() 会向元素添加淡出效果。
1 |
|
语法:
1 | $(selector).fadeToggle(speed,callback); |
fadeTo()
jQueryfadeTo()方法允许渐变为给定的不透明度(值介于0与1之间)。
1 |
|
语法:
1 | $(selector).fadeTo(speed,opacity,callback); |
滑动
slideDown()
1 |
|
语法:
1 | $(selector).slideDown(speed,callback); |
slideUp()
1 |
|
语法:
1 | $(selector).slideUp(speed,callback); |
slideToggle()
jQueryslideToggle()方法可以在slideDown()与slideUp()方法之间进行切换。
如果元素向下滑动,则 slideToggle() 可向上滑动它们。
如果元素向上滑动,则 slideToggle() 可向下滑动它们。
1 |
|
语法:
1 | $(selector).slideToggle(speed,callback); |
动画
animate()
jQueryanimate()方法用于创建自定义动画。默认情况下,所有的HTML元素有一个静态的位置,且是不可移动的。 如果需要改变为,我们需要将元素的position属性设置为relative,fixed, 或absolute!
1 | $("button").click(function(){ |
- 操作多个属性
1 | $("button").click(function(){ |
- 使用相对值
1 | $("button").click(function(){ |
- 使用队列功能
1 |
|
语法:
1 | $(selector).animate({params},speed,callback); |
停止动画
stop()
jQuerystop()方法用于停止动画或效果,在它们完成之前。stop()方法适用于所有jQuery效果函数,包括滑动、淡入淡出和自定义动画。
语法:
1 | $(selector).stop(stopAll,goToEnd); |
可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
因此,默认地,stop() 会清除在被选元素上指定的当前动画。
1 |
|
Callback
Callback函数在当前效果(动画) 100% 完成之后执行。回调函数在以上效果中作为可选参数,如果选择传入,则会在效果完成后触发函数。
链
jQuery允许把动作/方法链接在一起。这种链式操作是JS的一种特性。
1 | $("#p1").css("color","red").slideUp(2000).slideDown(2000); |