From 033d12e95de5a3eaeaac19ea5268f7d1d8eb4baf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A2=E4=BA=A8=E8=80=80?= <2640788668@qq.com> Date: Thu, 28 Dec 2023 21:57:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E5=8D=81=E4=BA=8C?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jQuery\351\242\204\344\271\240.md" | 232 ++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 "21 \345\215\242\344\272\250\350\200\200/jQuery\351\242\204\344\271\240.md" diff --git "a/21 \345\215\242\344\272\250\350\200\200/jQuery\351\242\204\344\271\240.md" "b/21 \345\215\242\344\272\250\350\200\200/jQuery\351\242\204\344\271\240.md" new file mode 100644 index 0000000..ea98903 --- /dev/null +++ "b/21 \345\215\242\344\272\250\350\200\200/jQuery\351\242\204\344\271\240.md" @@ -0,0 +1,232 @@ +## jQuery + +jQuery 是一个JavaScript库 + +jQuery极大简化JavaScript编程 + +### jQuery 库特性 + +jQuery 是一个 JavaScript 函数库。 + +jQuery 库包含以下特性: + +- HTML 元素选取 +- HTML 元素操作 +- CSS 操作 +- HTML 事件函数 +- JavaScript 特效和动画 +- HTML DOM 遍历和修改 +- AJAX +- Utilities + +### 添加 jQuery库 + +jQuery 库位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数。 + +可以通过下面的标记把 jQuery 添加到网页中: + +~~~html +
+ + +~~~ + +请注意, + +``` + +### 使用 Microsoft 的 CDN + +```html + + + +``` + +### 使用百度的CDN + + + +"> + + +## jQuery 语法实例 + +- [$(this).hide()](https://www.w3school.com.cn/tiy/t.asp?f=jquery_hide_this) + + 演示 jQuery hide() 函数,隐藏当前的 HTML 元素。 + +- [$("#test").hide()](https://www.w3school.com.cn/tiy/t.asp?f=jquery_hide_id) + + 演示 jQuery hide() 函数,隐藏 id="test" 的元素。 + +- [$("p").hide()](https://www.w3school.com.cn/tiy/t.asp?f=jquery_hide_p) + + 演示 jQuery hide() 函数,隐藏所有元素。 + +- [$(".test").hide()](https://www.w3school.com.cn/tiy/t.asp?f=jquery_hide_class) + + 演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。 + +## jQuery 语法 + +jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。 + +基础语法是:*$(selector).action()* + +- 美元符号定义 jQuery +- 选择符(selector)“查询”和“查找” HTML 元素 +- jQuery 的 action() 执行对元素的操作 + +### 示例 + +$(this).hide() - 隐藏当前元素 + +$("p").hide() - 隐藏所有段落 + +$(".test").hide() - 隐藏所有 class="test" 的所有元素 + +$("#test").hide() - 隐藏所有 id="test" 的元素 + +**提示:**jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。在本教程接下来的章节,您将学习到更多有关选择器的语法。 + +关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。 + +jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。 + +选择器允许您对 HTML 元素组或单个元素进行操作。 + +在 HTML DOM 术语中: + +选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。 + +## jQuery 元素选择器 + +jQuery 使用 CSS 选择器来选取 HTML 元素。 + +$("p") 选取
元素。 + +$("p.intro") 选取所有 class="intro" 的
元素。 + +$("p#demo") 选取所有 id="demo" 的
元素。 + +## jQuery 事件函数 + +jQuery 事件处理方法是 jQuery 中的核心函数。 + +事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。 + +通常会把 jQuery 代码放到
部分的事件处理方法中: + +### 实例 + +```html + + + + + + + +This is a paragraph.
+This is another paragraph.
+ + + + +``` + +## 单独文件中的函数 + +如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。 + +当我们在教程中演示 jQuery 时,会将函数直接添加到 部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件): + +### 实例 + +```html + + + + +``` + +## jQuery 名称冲突 + +jQuery 使用 $ 符号作为 jQuery 的简介方式。 + +某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。 + +jQuery 使用名为 noConflict() 的方法来解决该问题。 + +*var jq=jQuery.noConflict()*,帮助您使用自己的名称(比如 jq)来代替 $ 符号。 + +## axios 封装 + +~~~html + +~~~ \ No newline at end of file -- Gitee From 7ceb418889d814423b090bb61b2338f77aa9f98f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A2=E4=BA=A8=E8=80=80?= <2640788668@qq.com> Date: Thu, 28 Dec 2023 22:00:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E5=8D=81=E4=B8=89?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jQuery\344\275\234\344\270\232.md" | 248 ++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 "21 \345\215\242\344\272\250\350\200\200/jQuery\344\275\234\344\270\232.md" diff --git "a/21 \345\215\242\344\272\250\350\200\200/jQuery\344\275\234\344\270\232.md" "b/21 \345\215\242\344\272\250\350\200\200/jQuery\344\275\234\344\270\232.md" new file mode 100644 index 0000000..e705637 --- /dev/null +++ "b/21 \345\215\242\344\272\250\350\200\200/jQuery\344\275\234\344\270\232.md" @@ -0,0 +1,248 @@ +### tab栏切换 + +~~~ js +// 1. 给 ul 添加点击事件(事件委托) +$('ul').on('click','a',function(){ + // 先删除 li里的 active + $('a.active').removeClass('active') + // 自己添加 active 类 + $(this).addClass('active') + + // 先删除 有item类 里的 active + $('.item.active').removeClass('active') + // 获取当前点击的 a 的索引 + const id = $('a').index($(this)) + // 根据 id 指定某个div添加 active 类 + $(`.item:eq(${id})`).addClass('active') +}) +~~~ + +### 轮播图 + +~~~ js +// 定义起始值 +let i = 0 +// 1. 给 > 按钮 添加点击事件 +$('.next').bind('click', () => { + // 判断 i 是否大于数组长度 + i = i >= sliderData.length - 1 ? 0 : i + 1 + // 调用切换函数 + toggleData() +}) + +// 2. 给 < 按钮添加点击事件 +$('.prev').bind('click', () => { + // 判断 i 是否大于数组长度 + i = i <= 0 ? sliderData.length - 1 : i - 1 + // 调用切换函数 + toggleData() +}) + +// 3. 添加定时器 +let time = setInterval(() => { + $('.next').click() +}, 1000) + +// 4. 添加 鼠标经过、移出事件 +$('.slider-wrapper,.slider-footer').bind({ + 'mouseover': () => { + // console.log(111); + // 暂停定时器 + clearInterval(time) + }, + 'mouseout': () => { + // console.log(222); + // 开启定时器 + time = setInterval(() => { + $('.next').click() + }, 1000) + } +}) + +// 分装一个切换(图片、标题、背景颜色、小圆点)的类 +function toggleData() { + // 切换图片 + $('.slider-wrapper img').attr('src', sliderData[i].url) + // 切换标题 + $('.slider-footer p').html(sliderData[i].title) + // 切换标题背景颜色 + $('.slider-footer').css('background', sliderData[i].color) + // 切换小圆点 + // 先删除 active 类 + $('.slider-indicator li.active').removeClass('active') + // 自己添加 active 类 + $(`.slider-indicator li:eq(${i})`).addClass('active') +} +~~~ + +### 图书管理系统 + +~~~ js +/** + * 目标一: 获取接口数据并渲染 + * 1.1 定义自己的外号 + * 1.2 通过自己的外号,发送异步请求,获取数据 + * 1.3 将获取的数据渲染 + */ + +// 1.1 定义自己的外号 +const creator = '墨下皆是心酸' + +// 因为,添加、删除、编辑后都要渲染一遍,所有分装一个渲染函数 +function getBooksList() { + // 1.2 通过自己的外号,发送异步请求,获取数据 + $.ajax({ + url: 'https://hmajax.itheima.net/api/books', + data: { + creator + }, + success: (result) => { + const data = result.data + // 将获取的数据渲染到页面上 + const htmlStr = $.map(data, (item, index) => { + // 解构数据 + const { id, bookname, author, publisher } = item + return ` +