前言
【内容】
- jQuery菜鸟编程学习笔记
- 具体详情看目录
【目的】
- 记录本人在jQuery学习中的笔记
- 方便日后的工作与学习。
【学习资料】
【温馨提示】
- 笔记中有些个人理解后整理的笔记,可能有所偏差,也恳请读者帮忙指出,谢谢。
jQuery快速了解
啥是jQuery?
- 是一个 JavaScript 函数库
- 是一个轻量级的"写的少,做的多"的 JavaScript 库
能干什么?
- HTML 元素选取
- HTML 元素操作
- CSS 操作
- HTML 事件函数
- JavaScript 特效和动画
- HTML DOM 遍历和修改
- AJAX
- Utilities
- 提供了大量的插件
如何在网页文件中引入jQuery?
方法一:本地引用
-
从jQuery官网下载jQuery库
- 下载版本(二选一)
- Production version - 用于实际的网站中,已被精简和压缩。
- Development version - 用于测试和开发(未压缩,是可读的代码)。
- 下载版本(二选一)
-
将下载的文件放在网页的同一目录下
-
在html文件中用
<script>
标签引用<head>
<script src="jquery-对应版本.js"></script>
</head>
方法二:通过CDN(内容分发网络) 引用
- 直接选一个复制到html中用
<script>
标签引用
/*Staticfile CDN*/
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
/*百度 CDN:*/
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
/*又拍云 CDN*/
<script src="https://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js">
</script>
/*新浪 CDN*/
<script src="https://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script>
/*Microsoft CDN*/
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js"></script>
【==PS==】推荐使用方法二引入jQuery
- 减少加载时间。
- 【解释】 许多用户在访问其他站点时,已经从百度、又拍云、新浪、谷歌或微软加载过 jQuery。所以结果是,当他们访问您的站点时,会从缓存中加载 jQuery
- 提高加载速度。
- 【解释】 大多数 CDN 都可以确保当用户向其请求文件时,会从离用户最近的服务器上返回响应
如何查看jQuery使用版本?
- 按
F12
打开 Console(控制台) 窗口 - 输入
$.fn.jquery
命令查看当前 jQuery 使用的版本
如何使用jQuery?
jQuery语法
基础语法
- 通过选取 HTML 元素,并对选取的元素执行某些操作
【格式】
$(selector).action()
$
:定义jQuery
selector
(选择符):"查询"和"查找" HTML 元素(具体详情)
action()
:执行对元素的操作
文档就绪事件
- 所有 jQuery 函数位于一个 document ready 函数中
- 【原因】 为了防止文档在完全加载(就绪)之前运行 jQuery 代码,即在 DOM 加载完成后才可以对 DOM 进行操作。
【格式】
格式一:
$(document).ready(function(){
// 开始写 jQuery 代码...
});
格式二:简洁写法(与以上写法效果相同)
$(function(){
// 开始写 jQuery 代码...
});
【拓展】JavaScript文档就绪事件
格式:
window.onload = function () {
// 执行代码
}
jQuery选择器
- 允许对 HTML 元素组或单个元素进行操作。
- 更css中的选择器相同。
- 所有选择器都以美元符号开头:
$()
。
常用选择器 | 格式 |
---|---|
元素选择器 | $("元素名") |
id 选择器 | $("#id名") |
class 选择器 | $(".类名") |
如何在独立文件中使用jQuery函数?
-
将jQuery 函数放到独立的 .js 文件中。
-
将函数直接添加到
<head>
部分中示例:
<head>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js">
</script>
<script src="my_jquery_functions.js"></script>
</head>
【好处】
- jQuery 函数易于维护
jQuery事件
啥是事件?
-
页面对不同访问者的响应
-
常见 DOM 事件:
鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypress submit load dblclick keydown change resize mouseenter keyup focus scroll mouseleave blur unload hover
如何设置jQuery事件?
【格式】
$("selecter").action(function(){
//动作触发后执行的代码!!!
});
selecter
:选择器
action
:事件
function
:函数
jQuery 效果
隐藏/显示
hide()【隐藏】和 show()【显示】
【格式】
$("selecter").hide(speed,callback);
$("selecter").hide(speed,callback);
speed
(隐藏/显示的速度):可选
- 值:
slow
、fast
、毫秒
callback
(隐藏/显示后执行的函数):可选
toggle()【将显示的隐藏,将隐藏的显示】
【格式】
$("selecter").toggle(speed,callback);
淡入/淡出
【==注意==】
- 大小写不能变
fadeln()【淡入已已隐藏的元素】和 fadeOut() 【淡出可见元素】
【格式】
$("selector").fadeIn(speed,callback);
$("selector").fadeOut(speed,callback);
speed
(隐藏/显示的速度):可选
- 值:
slow
、fast
、毫秒
callback
(淡入后执行的函数):可选
fadeToggle() 【元素已淡出,添加淡入效果;元素已淡入,添加淡出效果】
【格式】
$("selector").fadeToggle(speed,callback);
fadeTo() 【渐变淡入淡出】
【格式】
$("selector").fadeTo(speed,opacity,callback);
opacity
(不透明度):将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)
【==注意==】
- 没有默认参数,必须加上 slow/fast/Time
滑动
slideDown() 【向下滑动元素】 和 slideUp()【向上滑动元素】
【格式】
$("selector").slideDown(speed,callback);
$("selector").slideUp(speed,callback);
speed
(效果的时长):可选
- 值:
slow
、fast
、毫秒
callback
(滑动后执行的函数):可选
slideToggle()【已向下滑动的元素,向上滑动;已向上滑动的元素,向下滑动】
【格式】
$("selector").slideToggle(speed,callback);
动画
animate()【创建自定义动画】
【格式】
$("selector").animate({params},speed,callback);
params
(形成动画的 CSS 属性):必需
- 可操作多个属性
- 可以同时使用多个属性
- 可以操作所有 CSS 属性
- ==必须使用驼峰标记法书写所有的属性名==
- 例如必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。
- 色彩动画并不包含在核心 jQuery 库中
- 如果需要生成颜色动画,您需要从 jquery.com 下载 颜色动画 插件。
- ==必须使用驼峰标记法书写所有的属性名==
- 可使用相对值
- 相对值(该值相对于元素的当前值)。需要在值的前面加上
+=
或-=
- 相对值(该值相对于元素的当前值)。需要在值的前面加上
- 可使用预定义的值
- 可以把属性的动画值设置为
show
、hide
或toggle
- 可以把属性的动画值设置为
- 可使用对列功能
- 编写多个 animate() 调用,逐一运行这些 animate 调用。
speed
(效果的时长):可选
- 值:
slow
、fast
、毫秒
callback
(动画完成后执行的函数):可选
【==注意==】
- 如需对位置进行操作,要记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute
- 【原因】默认情况下,所有 HTML 元素都有一个静态位置,且无法移动。
停止动画
stop() 【在它们完成之前,停止动画或效果】
- 适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画
【格式】
$("selector").stop(stopAll,goToEnd);
stopAll
(是否应该清除动画队列):
false
:默认- 仅停止活动的动画,允许任何排入队列的动画向后执行。
true
:所有动画都不执行
goToEnd
(是否立即完成当前动画):
false
:默认- 会清除在被选元素上指定的当前动画
true
- 执行完当前动画再停止后续动画
Callback方法(回调)
- 在当前动画 100% 完成之后执行
- 有Callback和无Calback的区别
- 有Callback:执行完动画在执行回调函数
- 无Callback:直接执行后续函数
链(Chaining)
- 可以把动作/方法链接在一起
- 允许我们在一条语句中运行多个 jQuery 方法 (在相同的元素上)
- 依次执行
【格式】
$("selecter").action1().action2().action3()....actionN();
【缩进格式】
$("selecter").action1()
.action2()
.action3()
...
.actionN();
【==注意==】
- 无须担心缩进格式中的空格
- 【原因】jQuery 会抛掉多余的空格,并当成一行长代码来执行上面的代码行。
更多方法【了解即可】
jQuery HTML
- jQuery 拥有可操作 HTML 元素和属性的强大方法。
- jQuery 中非常重要的部分,就是操作 DOM 的能力。
- jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。
【拓展】什么是DOM?
- DOM = Document Object Model(文档对象模型)
- DOM 定义访问 HTML 和 XML 文档的标准
获取内容和属性
获取内容方法
方法名 | 设置或返回内容 |
---|---|
text() | 所选元素的文本内容 |
html() | 所选元素的内容(包括 HTML 标记) |
val() | 表单字段的值 |
获取属性
attr() 【获取自定义属性值】
【格式】
$("selecter").attr("想要获取值的属性")
prop()【获取固有属性值】
【格式】
$("selecter").prop("想要获取值的属性")
【PS】
- 具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop()
【拓展】啥是固有属性?
- 元素本身就带有的属性
- W3C 标准里就包含有的属性
- IDE 里能够智能提示出的属性
attr()和prop()的区别
attr() | prop() | |
---|---|---|
用途 | 获取自定义属性值 | 获取固有属性值 |
如果没有相应的属性,返回值 | undefined | 空字符串 |
设置内容和属性
设置内容方法
方法名 | 设置或返回内容 |
---|---|
text(" |