jQuery前端网页制作

1、Jquery的概述

1.1JavaScript

JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时。

为了应对这些调整,许多的 JavaScript (helper) 库应运而生。

这些 JavaScript 库常被称为 JavaScript 框架

市面上一些广受欢迎的 JavaScript 框架:

  • jQuery
  • Prototype
  • MooTools

所有这些框架都提供针对常见 JavaScript 任务的函数,包括动画、DOM 操作以及 Ajax 处理。

1.2jQuery 的概念

jQuery 出现的目的是加快前端人员的开发速度,我们可以非常方便的调用和使用它,从而提高开发效
率。
学习 jQuery 本质: 就是学习调用这些函数(方法)。
jquery的优点:
1. 轻量级。核心文件才几十 kb ,不会影响页面加载速度
2. 链式编程、隐式迭代
3. 对事件、样式、动画支持,大大简化了
DOM 操作
4. 支持插件扩展开发。有着丰富的第三方的插件,例如:树形菜单、日期控件、轮播图等

2、jquery的基本使用

2.1jQuery的入口函数

第一种方式:
$(function(){
//此处是页面DOM加载完成的入口
}
);

第二种方式:

$(document).ready(function()){
// 此处是页面DOM加载完成的入口
});

注:

1、等DOM加载完,不必等所有外部资源

2、相当于原生JS的DOMContentLoaded

3、不同于原生JS的load事件

4、推荐使用第一种方式

 2.2 jQuery 的顶级对象 $

1.$ 是 jQuery 的别称,在代码中可以使用 jQuery 代替 $,但一般为了方便,通常都直接使用 $ 。 2.$ 是jQuery 的顶级对象, 相当于原生JavaScript中的 window。把元素利用$包装成jQuery对象,就可以调用jQuery 的方法。

2.3jQuery 对象和 DOM 对象

1. 用原生 JS 获取来的对象就是 DOM 对象

2. jQuery 方法获取的元素就是 jQuery 对象。

3. jQuery 对象本质是: 利用$对DOM 对象包装后产生的对象(伪数组形式存储)

注:只有 jQuery 对象才能使用 jQuery 方法,DOM 对象则使用原生的 JavaScirpt 方法。

2.4jQuery 对象和 DOM 对象的相互转换

DOM 对象与 jQuery 对象之间是可以相互转换的。

因为原生js 比 jQuery 更大,原生的一些属性和方法 jQuery没有给我们封装. 要想使用这些属性和方法需要把jQuery对象转换为DOM对象才能使用。

1. DOM 对象转换为 jQuery 对象: $(DOM对象)

$('div')  

2. jQuery 对象转换为 DOM 对象(两种方式)

$('div') [index]       index 是索引号      

3、jQueryAPI

3.1jQuery的选择器

3.1.1基本选择器

原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery 给我们做了封装,使获取元素统一标准。

语法:$(“选择器”)   //  里面选择器直接写 CSS 选择器即可,但是要加引号     

分类:

3.1.2 层级选择器

 知识铺垫

jQuery 设置样式: $('div').css('属性', '值') 

<!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>
</head><body><div>我是div</div><div class="nav">我是nav div</div><p>我是p</p><ol><li>我是ol 的</li><li>我是ol 的</li><li>我是ol 的</li><li>我是ol 的</li></ol><ul><li>我是ul 的</li><li>我是ul 的</li><li>我是ul 的</li><li>我是ul 的</li></ul><script>$(function() {console.log($(".nav"));console.log($("ul li"));})</script>
</body></html>

3.1.3 隐式迭代

遍历内部 DOM 元素(伪数组形式存储)的过程就叫做隐式迭代。

简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。

3.1.4  jQuery 筛选选择器

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../../jquery.min.js"></script>
</head>
<body><ul><li>多个里面筛选几个</li><li>多个里面筛选几个</li><li>多个里面筛选几个</li><li>多个里面筛选几个</li><li>多个里面筛选几个</li><li>多个里面筛选几个</li></ul><ol><li>多个里面筛选几个</li><li>多个里面筛选几个</li><li>多个里面筛选几个</li><li>多个里面筛选几个</li><li>多个里面筛选几个</li><li>多个里面筛选几个</li></ol><script>$(function(){$("ul li:first").css("color","red");})$(function(){$("ul li:eq(2)").css("color","pink");})$(function(){$("ul li:odd").css("color","blue");})$(function(){$("ol li:even").css("color","yellow");})</script>
</body>
</html>

 3.1.5 jQuery 里面的排他思想

想要多选一的效果,排他思想:当前元素设置样式,其余的兄弟元素清除样式。

 案例:淘宝服饰精品案例

案例分析:

  • 核心原理:鼠标经过左侧盒子某个小li,就让内容区盒子相对应图片显示,其余的图片隐藏。
  • 需要得到当前小li 的索引号,就可以显示对应索引号的图片
  • jQuery 得到当前元素索引号 $(this).index()  
  • 中间对应的图片,可以通过  eq(index) 方法去选择
  • 显示元素 show()   隐藏元素 hide()

代码:

<!DOCTYPE html>
<html><head lang="en"><meta charset="UTF-8"><title></title><style type="text/css">* {margin: 0;padding: 0;font-size: 12px;}ul {list-style: none;}a {text-decoration: none;}.wrapper {width: 250px;height: 248px;margin: 100px auto 0;border: 1px solid pink;border-right: 0;overflow: hidden;}#left,#content {float: left;}#left li {background: url(images/lili.jpg) repeat-x;}#left li a {display: block;width: 48px;height: 27px;border-bottom: 1px solid pink;line-height: 27px;text-align: center;color: black;}#left li a:hover {background-image: url(images/abg.gif);}#content {border-left: 1px solid pink;border-right: 1px solid pink;}</style><script src="jquery.min.js"></script><script>$(function() {// 1. 鼠标经过左侧的小li $("#left li").mouseover(function() {// 2. 得到当前小li 的索引号var index = $(this).index();console.log(index);// 3. 让我们右侧的盒子相应索引号的图片显示出来就好了// $("#content div").eq(index).show();// 4. 让其余的图片(就是其他的兄弟)隐藏起来// $("#content div").eq(index).siblings().hide();// 链式编程$("#content div").eq(index).show().siblings().hide();})})</script>
</head><body><div class="wrapper"><ul id="left"><li><a href="#">女靴</a></li><li><a href="#">雪地靴</a></li><li><a href="#">冬裙</a></li><li><a href="#">呢大衣</a></li><li><a href="#">毛衣</a></li><li><a href="#">棉服</a></li><li><a href="#">女裤</a></li><li><a href="#">羽绒服</a></li><li><a href="#">牛仔裤</a></li></ul><div id="content"><div><a href="#"><img src="images/女靴.jpg" width="200" height="250" /></a></div><div><a href="#"><img src="images/雪地靴.jpg" width="200" height="250" /></a></div><div><a href="#"><img src="images/冬裙.jpg" width="200" height="250" /></a></div><div><a href="#"><img src="images/呢大衣.jpg" width="200" height="250" /></a></div><div><a href="#"><img src="images/毛衣.jpg" width="200" height="250" /></a></div><div><a href="#"><img src="images/棉服.jpg" width="200" height="250" /></a></div><div><a href="#"><img src="images/女裤.jpg" width="200" height="250" /></a></div><div><a href="#"><img src="images/羽绒服.jpg" width="200" height="250" /></a></div><div><a href="#"><img src="images/牛仔裤.jpg" width="200" height="250" /></a></div></div></div>
</body></html>

3.2 jQuery 样式操作

3.2.1 操作 css 方法

jQuery 可以使用 css 方法来修改简单元素样式; 也可以操作类,修改多个样式。

1、参数只写属性名,则是返回属性值

2.  参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号

3.  参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开, 属性可以不用加引号

 3.2.2 设置类样式方法

作用等同于以前的 classList,可以操作类样式, 注意操作类里面的参数不要加点。

1. 添加类

2.  移除类

3.  切换类

 案例:tab栏切换

  • 点击上部的li,当前li 添加current类,其余兄弟移除类。
  • 点击的同时,得到当前li 的索引号
  • 让下部里面相应索引号的item显示,其余的item隐藏

3.2.3  类操作与className区别 

原生 JS 中 className 会覆盖元素原先里面的类名。

jQuery 里面类操作只是对指定类进行操作,不影响原先的类名。

3.3 jQuery 效果

3.3.1 显示隐藏效果

1、显示语法规范

 显示参数

  • 参数都可以省略, 无动画直接显示。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

 2、隐藏语法规范

  隐藏参数

  • 参数都可以省略, 无动画直接显示。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • (easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

 3、切换语法规范

  切换参数

  • 参数都可以省略, 无动画直接显示。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

 建议:平时一般不带参数,直接显示隐藏即可。

 3.3.2 滑动效果

1、下滑效果语法规范

下滑效果参数

  • 参数都可以省略。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

 2、上滑效果语法规范

上滑效果参数

  • 参数都可以省略。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

3、滑动切换效果语法规范

 滑动切换效果参数

  • 参数都可以省略。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

 3.3.3 事件切换

  • over:鼠标移到元素上要触发的函数(相当于mouseenter)
  • out:鼠标移出元素要触发的函数(相当于mouseleave) 
  • 如果只写一个函数,则鼠标经过和离开都会触发它

 3.3.4 动画队列及其停止排队方法

 1、动画或效果队列

 动画或者效果一旦触发就会执行,如果多次触发,就造成多个动画或者效果排队执行。

2、停止排队

 stop() 方法用于停止动画或效果。

注意: stop() 写到动画或者效果的前面, 相当于停止结束上一次的动画。

 3.3.5  淡入淡出效果

 1、淡入效果语法规范

 淡入效果参数

  • 参数都可以省略。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

2、淡出效果语法规范

参数效果参数

  • 参数都可以省略。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

3、淡入淡出切换效果语法规范

淡入淡出切换效果参数

  • opacity 透明度必须写,取值 0~1 之间。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。必须写 
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

3.3.6  自定义动画 animate

1、语法

 2、参数

  • params: 想要更改的样式属性,以对象形式传递,必须写。 属性名可以不用带引号, 如果是复合属性则需要采取驼峰命名法 borderLeft。其余参数都可以省略。
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。
  • easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。
  • fn:  回调函数,在动画完成时执行的函数,每个元素执行一次。

案例 :手风琴案例

案例分析:

  • 鼠标经过某个小li 有两步操作:
  • 当前小li 宽度变为 224px, 同时里面的小图片淡出,大图片淡入
  • 其余兄弟小li宽度变为69px, 小图片淡入, 大图片淡出

 代码:

<!doctype html>
<html><head><meta charset="utf-8"><title>手风琴案例</title><style type="text/css">* {margin: 0;padding: 0;}img {display: block;}ul {list-style: none;}.king {width: 750px;margin: 100px auto;background: url(images/bg.png) no-repeat;overflow: hidden;padding: 10px;}.king ul {overflow: hidden;}.king li {position: relative;float: left;width: 69px;height: 69px;margin-right: 10px;}.king li.current {width: 224px;}.king li.current .big {display: block;}.king li.current .small {display: none;}.big {width: 224px;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/387880.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Docker搭建ELK

目录 1.系统操作 2.搭建es 3.kibana(新起终端跟es一起启动) 4.logstash&#xff08;新起终端和es一起启动&#xff09; 5.修改logstash配置文件 6. 创建索引 7. exit #退出容器 8. 在logstash节点插入数据&#xff0c;测试是否能拿取到&#xff08;下面如果本身有数据…

基于多种机器学习的豆瓣电影评分预测与多维度可视化【可加系统】

有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 在本研究中&#xff0c;我们采用Python编程语言&#xff0c;利用爬虫技术实时获取豆瓣电影最新数据。通过分析豆瓣网站的结构&#xff0c;我们设计了一套有效的策略来爬取电影相关的JSON格式数据。…

[FBCTF2019]RCEService (PCRE回溯绕过和%a0换行绕过)

json格式输入ls出现index.php 这道题原本是给了源码的&#xff0c;BUUCTF没给 源码&#xff1a; <?phpputenv(PATH/home/rceservice/jail);if (isset($_REQUEST[cmd])) {$json $_REQUEST[cmd];if (!is_string($json)) {echo Hacking attempt detected<br/><br/…

ElasticSearch学习篇15_《检索技术核心20讲》进阶篇之TopK检索

背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243&#xff0c;文档形式记录笔记。 相关问题&#xff1a; ES全文检索是如何进行相关性打分的&#xff1f;ES中计算相关性得分的时机?如何加速TopK检索&#xff1f;三种思路 精准To…

eclipse ui bug

eclipse ui bug界面缺陷&#xff0c;可能项目过多&#xff0c;特别maven项目过多&#xff0c;下载&#xff0c;自动编译&#xff0c;加载更新界面异常 所有窗口死活Restore不回去了 1&#xff09;尝试创建项目&#xff0c;还原界面&#xff0c;失败 2&#xff09;关闭所有窗口&…

Python写UI自动化--playwright(pytest.ini配置)

在 pytest.ini 文件中配置 playwright 的选项可以更好地控制测试执行的过程。 在终端输入pytest --help&#xff0c;可以找到playwright的配置参数 目录 1. --browser{chromium,firefox,webkit} 2. --headed 3. --browser-channelBROWSER_CHANNEL 4. --slowmoSLOWMO 5. …

Photos框架 - 自定义媒体选择器(UI列表)

​​​​​​​Photos框架 - 自定义媒体资源选择器&#xff08;数据部分&#xff09; Photos框架 - 自定义媒体选择器&#xff08;UI列表&#xff09;​​​​​​​ Photos框架 - 自定义媒体选择器&#xff08;UI预览&#xff09; Photos框架 - 自定义媒体选择器&#xff0…

规划决策算法(四)---Frenet坐标系

知乎&#xff1a;坐标系转换 1.Frenet 坐标系 什么是 Frenet 坐标系&#xff1a; 为什么使用 Frenet 坐标系&#xff1a; 通常情况&#xff0c;我们只会关注车辆当前距离左右车道线的距离&#xff0c;来判断是否偏离车道&#xff0c;是否需要打方向盘进行方向微调。而不是基于…

【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常

问题现象 BeetISQL中间件版本&#xff1a;2.13.8.RELEASE 客户在调用BeetISQL提供的api向yashandb的表中执行batch insert并将返回sequence设置到传入的java bean时&#xff0c;报如下异常&#xff1a; 问题的风险及影响 影响业务流程正常执行&#xff0c;无法获得batch ins…

matlab仿真 数字信号载波传输(下)

&#xff08;内容源自详解MATLAB&#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第七 章内容&#xff0c;有兴趣的读者请阅读原书&#xff09; clear all M8; msg[1 4 3 0 7 5 2 6]; ts0.01; T1; %t0:ts:T; t0:ts:T-ts; %x0:ts:length(msg); x0:ts:length(msg)-ts; f…

决策树基础

概述 决策树是一种树型结构&#xff0c;其中每个内部结点表示在一个属性上的测试&#xff0c;每个分支代表一 个测试输出&#xff0c;每个叶结点代表一种类别。决策树学习采用的是自顶向下的递归方法&#xff0c;其基本思想是以信息熵为度量构造一棵熵值下降最快的树&#xff…

一层5x1神经网络绘制训练100轮后权重变化的图像

要完成这个任务&#xff0c;我们可以使用Python中的PyTorch库来建立一个简单的神经网络&#xff0c;网络结构只有一个输入层和一个输出层&#xff0c;输入层有5个节点&#xff0c;输出层有1个节点。训练过程中&#xff0c;我们将记录权重的变化&#xff0c;并在训练100轮后绘制…

github简单地操作

1.调节字体大小 选择options 选择text 选择select 选择你需要的参数就可以了。 2.配置用户名和邮箱 桌面右键&#xff0c;选择git Bash Here git config --global user.name 用户名 git config --global user.email 邮箱名 3.用git实现代码管理的过程 下载别人的项目 git …

反爬虫限制:有哪些方法可以保护网络爬虫不被限制?

目前&#xff0c;爬虫已经成为互联网数据获取最主流的方式。但为了保证爬虫顺利采集数据&#xff0c;需要防范网站的反爬虫机制&#xff0c;降低IP被限制的风险&#xff0c;这样才能提高爬虫工作的效率。那么&#xff0c;如何防止网络爬虫被限制呢&#xff1f;下面介绍几种有效…

dpdk发送udp报文

dpdk接收到udp报文后&#xff0c;自己构造一个udp报文&#xff0c;将收到的报文中的源mac&#xff0c;目的mac&#xff0c;源ip&#xff0c;目的ip&#xff0c;源端口和目的端口交换下顺序填充到新的udp报文中&#xff0c;报文中的负载数据和收到的udp保持一致。 注&#xff1…

Yarn UI 时间问题,相差8小时

位置 $HADOOP_HOME/share/hadoop/yarn/hadoop-yarn-common-2.6.1.jar 查看 jar tf hadoop-yarn-common-2.6.1.jar |grep yarn.dt.plugins.js webapps/static/yarn.dt.plugins.js 解压 jar -xvf hadoop-yarn-common-2.6.1.jar webapps/static/yarn.dt.plugins.js inflated: we…

【文件解析漏洞】实战详解!

漏洞描述&#xff1a; 文件解析漏洞是由于中间件错误的将任意格式的文件解析成网页可执行文件&#xff0c;配合文件上传漏洞进行GetShell的漏洞! IIS解析漏洞&#xff1a; IIS6.X&#xff1a; 方式一:目录解析 在网站下建立文件夹的名字为.asp/.asa 的文件夹&#xff0c;其目…

传输层(port)UDP/TCP——解决怎么发,发多少,出错了怎么办

**传输层&#xff1a;**负责数据能够从发送端传输接收端. 传输层所封装的报头里一定有&#xff1a;源端口号和目的端口号的。 **端口号&#xff1a;**可以标识一台主机中的唯一一个进程&#xff08;运用程序&#xff09;&#xff0c;这样当数据传输到传输层的时候就可以通过端…

单向链表(常规和带哨兵)

1.定义 在计算机科学中&#xff0c;链表是数据元素的线性集合&#xff0c;每个元素都指向下一个元素&#xff0c;元素存储上并不连续 2.分类 链表中还有一种特殊的节点称为哨兵结点&#xff0c;也叫哑元结点、首元结点&#xff0c;它不存储数据&#xff0c;通常用作头尾&…

艾体宝干货 | 如何分析关键网络性能指标?持续接收样品试用申请!

网络性能是企业顺利运营的重要基础&#xff0c;而Allegro流量分析仪作为一款强大的网络性能分析工具&#xff0c;为企业提供了深入了解网络运行状况的途径。在本文中&#xff0c;我们将探讨如何利用Allegro 流量分析仪分析关键网络性能指标&#xff0c;以优化网络性能、提高安全…