文章目录
学习目标
- 能够说出 jQuery 对象的拷贝方法
- 能够说出 jQuery 多库共存的2种方法
- 能够使用 jQuery 插件
1. jQuery 拷贝对象
如果想要把某个对象拷贝(合并) 给另外一个对象使用,此时可以使用 $.extend()
方法
语法:
$.extend([deep], target, object1, [objectN])
- deep: 如果设为true 为深拷贝, 默认为false 浅拷贝
- target: 要拷贝的目标对象
- object1:待拷贝到第一个对象的对象。
- objectN:待拷贝到第N个对象的对象。
- 浅拷贝是把被拷贝的对象复杂数据类型中的地址拷贝给目标对象,修改目标对象会影响被拷贝对象。
- 深拷贝,前面加true, 完全克隆(拷贝的对象,而不是地址),修改目标对象不会影响被拷贝对象。
2. 多库共存
问题概述:
jQuery使用 $ 作为标示符,随着jQuery的流行,其他 js 库也会用这 $ 作为标识符, 这样一起使用会引起冲突。
客观需求:
需要一个解决方案,让jQuery 和其他的js库不存在冲突,可以同时存在,这就叫做多库共存。
jQuery 解决方案:
- 把里面的 $ 符号 统一改为 jQuery。 比如
jQuery(''div'')
- jQuery 变量规定新的名称:
$.noConflict()
var xx = $.noConflict();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="jquery.min.js"></script>
<script>
$(function() {
function $(ele) {
return document.querySelector(ele);
}
console.log($("div"));
// 1. 如果$ 符号冲突 我们就使用 jQuery
jQuery.each();
// 2. 让jquery 释放对$ 控制权 让用自己决定
var suibian = jQuery.noConflict();
console.log(suibian("span"));
suibian.each();
})
</script>
</head>
<body>
<div></div>
<span></span>
</body>
</html>
3. jQuery 插件
jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。
注意: 这些插件也是依赖于jQuery来完成的,所以必须要先引入jQuery文件,因此也称为 jQuery 插件。
jQuery 插件常用的网站:
- jQuery 插件库: http://www.jq22.com/
- jQuery 之家: http://www.htmleaf.com/
jQuery 插件使用步骤:
3. 引入相关文件。(jQuery 文件 和 插件文件)
4. 复制相关html、css、js (调用插件)。
jQuery 插件演示:
1. 瀑布流
步骤:
1.搜索需要的插件,如瀑布流
2.点击查看效果,如果合适就点击下载。
3.解压插件
4.打开dom,通过查看源代码,复制我们所需要的代码。
5.在下载插件的下面,有对这个插件使用的讲解。
2. 图片懒加载
(图片使用延迟加载在可提高网页下载速度。它也能帮助减轻服务器负载)
- 当我们页面滑动到可视区域,再显示图片。
- 我们使用jquery 插件库 http://www.jq22.com/ : EasyLazyload。 注意,此时的js引入文件和js调用必须写到 DOM元素(图片)最后面
3. 全屏滚动(fullpage.js)
gitHub:https://github.com/alvarotrigo/fullPage.js
中文翻译网站: http://www.dowebok.com/demo/2014/77/
4. bootstrap JS 插件:
bootstrap 框架也是依赖于 jQuery 开发的,因此里面的 js插件使用 ,也必须引入jQuery 文件。
就可以引入bootstrap插件了