jquery常用Api
1. jQuery 选择器
1.1 jQuery 基础选择器
1.2 jQuery 层级选择器
知识铺垫
1.3 隐式迭代(重要)
1.4 jQuery 筛选选择器
1.5 jQuery 筛选方法(重点)
1.6 jQuery 里面的排他思想
淘宝服饰精品案例
案例分析:
1.7 链式编程
2. jQuery 样式操作
2.1 操作 css 方法
jQuery 可以使用 css 方法来修改简单元素样式; 也可以操作类,修改多个样式。
- 参数只写属性名,则是返回属性值
1 | $(this).css(''color''); |
- 参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号
1 | $(this).css(''color'', ''red''); |
- 参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开, 属性可以不用加引号,
1 | $(this).css({ "color":"white","font-size":"20px"}); |
2.2 设置类样式方法
tab 栏切换案例
案例分析:
① 点击上部的li,当前li 添加current类,其余兄弟移除类。
② 点击的同时,得到当前li 的索引号
③ 让下部里面相应索引号的item显示,其余的item隐藏
2.3 类操作与className区别
原生 JS 中 className 会覆盖元素原先里面的类名。
jQuery 里面类操作只是对指定类进行操作,不影响原先的类名。
3. jQuery 效果
3.1 显示隐藏效果
3.2 滑动效果
3.3 事件切换
3.4 动画队列及其停止排队方法
3.5 淡入淡出效果
3.5 淡入淡出效果
淡入淡出效果语法规范
3.6 自定义动画 animate
王者荣耀手风琴效果
案例分析:
① 鼠标经过某个小li 有两步操作:
② 当前小li 宽度变为 224px, 同时里面的小图片淡出,大图片淡入
③ 其余兄弟小li宽度变为69px, 小图片淡入, 大图片淡出
4. jQuery 属性操作
4.1 设置或获取元素固有属性值 prop()
所谓元素固有属性就是元素本身自带的属性,比如 <a> 元素里面的 href ,比如 <input> 元素里面的 type。
4.2 设置或获取元素自定义属性值 attr()
用户自己给元素添加的属性,我们称为自定义属性。 比如给 div 添加 index =“1”。
改方法也可以获取 H5 自定义属性
4.3 数据缓存 data()
data() 方法可以在指定的元素上存取数据,并不会修改 DOM 元素结构。一旦页面刷新,之前存放的数据都将被移除。
同时,还可以读取 HTML5 自定义属性 data-index ,得到的是数字型
购物车案例模块-全选
案例分析:
① 全选思路:里面3个小的复选框按钮(j-checkbox)选中状态(checked)跟着全选按钮(checkall)走。
② 因为checked 是复选框的固有属性,此时我们需要利用prop()方法获取和设置该属性。
③ 把全选按钮状态赋值给3小复选框就可以了。
④ 当我们每次点击小的复选框按钮,就来判断:
⑤ 如果小复选框被选中的个数等于3 就应该把全选按钮选上,否则全选按钮不选。
⑥ :checked 选择器 :checked 查找被选中的表单元素。
5. jQuery 内容文本值
主要针对元素的内容还有表单的值操作。
购物车案例模块-增减商品数量
案例分析:
① 核心思路:首先声明一个变量,当我们点击+号(increment),就让这个值++,然后赋值给文本框。
② 注意1: 只能增加本商品的数量, 就是当前+号的兄弟文本框(itxt)的值。
③ 修改表单的值是val() 方法
④ 注意2: 这个变量初始值应该是这个文本框的值,在这个值的基础上++。要获取表单的值
⑤ 减号(decrement)思路同理,但是如果文本框的值是1,就不能再减了。
购物车案例模块-修改商品小计案例
案例分析:
① 核心思路:每次点击+号或者-号,根据文本框的值 乘以 当前商品的价格 就是 商品的小计
② 注意1: 只能增加本商品的小计, 就是当前商品的小计模块(p-sum)
③ 修改普通元素的内容是text() 方法
④ 注意2: 当前商品的价格,要把¥符号去掉再相乘 截取字符串 substr(1)
⑤ parents(‘选择器’) 可以返回指定祖先元素
⑥ 最后计算的结果如果想要保留2位小数 通过 toFixed(2) 方法
⑦ 用户也可以直接修改表单里面的值,同样要计算小计。 用表单change事件
⑧ 用最新的表单内的值 乘以 单价即可 但是还是当前商品小计
6. jQuery 元素操作
主要是遍历、创建、添加、删除元素操作。
6.1 遍历元素
jQuery 隐式迭代是对同一类元素做了同样的操作。 如果想要给同一类元素做不同操作,就需要用到遍历。
购物车案例模块-计算总计和总额案例
① 核心思路:把所有文本框里面的值相加就是总计数量。总额同理
② 文本框里面的值不相同,如果想要相加需要用到each遍历。声明一个变量,相加即可
③ 点击+号-号,会改变总计和总额,如果用户修改了文本框里面的值同样会改变总计和总额
④ 因此可以封装一个函数求总计和总额的, 以上2个操作调用这个函数即可。
⑤ 注意1: 总计是文本框里面的值相加用 val() 总额是普通元素的内容用text()
⑥ 要注意普通元素里面的内容要去掉¥并且转换为数字型才能相加
6.2 创建元素
6.3 添加元素
6.4 删除元素
购物车案例模块-选中商品添加背景案例
案例分析:
① 核心思路:选中的商品添加背景,不选中移除背景即可
② 全选按钮点击:如果全选是选中的,则所有的商品添加背景,否则移除背景
③ 小的复选框点击: 如果是选中状态,则当前商品添加背景,否则移除背景
④ 这个背景,可以通过类名修改,添加类和删除类
7. jQuery 尺寸、位置操作
7.1 jQuery 尺寸
以上参数为空,则是获取相应值,返回的是数字型。
如果参数为数字,则是修改相应值。
参数可以不必写单位。
7.2 jQuery 位置
位置主要有三个: offset()、position()、scrollTop()/scrollLeft()
- offset() 设置或获取元素偏移
① offset() 方法设置或返回被选元素相对于文档的偏移坐标,跟父级没有关系。
② 该方法有2个属性 left、top 。offset().top 用于获取距离文档顶部的距离,offset().left 用于获取距离文档左侧的距离。
③ 可以设置元素的偏移:offset({ top: 10, left: 30 });
- position() 获取元素偏移
① position() 方法用于返回被选元素相对于带有定位的父级偏移坐标,如果父级都没有定位,则以文档为准。
② 该方法有2个属性 left、top。position().top 用于获取距离定位父级顶部的距离,position().left 用于获取距离定位父级左侧的距离。
③ 该方法只能获取。
- scrollTop()/scrollLeft() 设置或获取元素被卷去的头部和左侧
① scrollTop() 方法设置或返回被选元素被卷去的头部。
② 不跟参数是获取,参数为不带单位的数字则是设置被卷去的头部。
带有动画的返回顶部案例
案例分析:
① 核心原理: 使用animate动画返回顶部。
② animate动画函数里面有个scrollTop 属性,可以设置位置
③ 但是是元素做动画,因此 $(“body,html”).animate({scrollTop: 0})
品优购电梯导航
① 当我们滚动到 今日推荐 模块,就让电梯导航显示出来
② 点击电梯导航页面可以滚动到相应内容区域
③ 核心算法:因为电梯导航模块和内容区模块一一对应的
④ 当我们点击电梯导航某个小模块,就可以拿到当前小模块的索引号
⑤ 就可以把 animate 要移动的距离求出来:当前索引号内容区模块它的 offset().top
⑥ 然后执行动画即可









































