js下 Day17、综合案例
一.面向对象轮播
效果图:
功能思路分析:
**1. ** 面向对象框架搭建


**2. ** 渲染数据
1.通过**map().join(‘’)**分别渲染导航和内容的数据
2.渲染时在导航菜单上挂载自定义属性保存下标
3.默认给第一个高亮( 添加类名 )

**3. ** 封装公用切换方法
1.先把上一项的类名去掉( classList.remove() )
2.修改下标
3.当前项类名加上( classList.add() )
4.内容盒子向上移动,修改marginTop = -400 * 当前下标

**4. ** 点击菜单切换
1.给菜单大盒子绑定点击事件,通过事件委托找到每一个标签
2.通过getAttribute()获取绑定在标签上的下标
3.调用切换方法传递下标

**5. ** 自动轮播
1.设置定时器,每隔指定时间调用
2.下标累加
3.调用切换方法传递下标

**6. ** 滑入显示滑出隐藏
1.给大盒子绑定鼠标滑过事件(mouseover)
2.鼠标滑过时清除定时器(clearInterval)
3.给大盒子绑定鼠标离开事件(mouseout)
4.鼠标滑过时清除定时器(clearInterval)

#二.进度条
效果图:

功能思路分析:
1. 设置进度条默认值

2. 渲染进度条

3. 渲染多个进度条
根据数据循环调用封装好的进度条
将数据中的信息传参

#三.今日小结
1.构造函数: constructor
2.原型对象: prototype
3.合并参数: Object.assign({},{},obj)
4.获取自定义属性: 元素.getAttribute()
5.鼠标滑过事件: mouseover
6.鼠标离开事件: mouseout
7.清除定时器: clearInterval()
#四. 作业 -- 进度条
效果图:

功能思路分析:
1. 倒计时功能
1.根据数据中的hourbuyTime中的activityTime起始时间和endTime结束时间完成倒计时功能
2.计算结束时间和起始时间的时间差,根据时间差求出年月日时分秒
2. 产品渲染功能
\1. 根据数据中的productList给定的产品数据,并通过**map().join()**来完成渲染
\2. 调用进度条方法(产品数据中的rebate值是进度条的值)来实现进度条功能
3. 进度条功能
\1. return拼接好的进度条的HTML结构
\2. 通过进度条的值,比例0.8转成百分比80%设置进度条的宽
4. 鼠标滑过产品的高亮效果通过纯CSS来实现
js下 Day17、综合案例的更多相关文章
- JS 下拉菜单案例
css代码 .nav { width: 300px; height: 400px; list-style: none; padding:; margin: 0 auto; } .nav>li { ...
- js下 Day12、案例
一.垃圾分类 效果图: 功能思路分析: 1. 鼠标按下 (1) 获取鼠标到元素的距离(e.offsetX) (2) 开启开关变量 (3) 获取事件源 (4) 记录垃圾初始位置 2. 鼠标移动 ( ...
- js下 Day11、案例
一.成绩分类 效果图: 功能思路分析: 1. 渲染数据 2. 鼠标按下开启拖拽 \1. 给成绩盒子绑定鼠标按下事件(mousedown),用事件委托做多个标签的拖拽 \2. 开启控制拖拽的变量 \3. ...
- Ext.js入门:常用组件与综合案例(七)
一:datefield简单示例 二:timefield简单示例 三:numberfield简单示例 四:FormPanel提交 datefield简单示例: <html xmlns=&quo ...
- js上 二十、综合案例
二十.综合案例 题目一: **1. ** 数组随机 描述,写randomArray函数,传递一个数组,传递一个数值,返回一个指定个数的随机的新数组,不允许有重复数据 用例: randomArray([ ...
- js上 十九、综合案例
十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...
- JavaScript:综合案例-表单验证
综合案例:表单验证 开发要求: 要求定义一个雇员信息的增加页面,例如页面名称为"emp_add.htmnl",而后在此页面中要提供有输入表单,此表单定义要求如下: .雇员编号:必须 ...
- 黑马eesy_15 Vue:04.综合案例(前端Vue实现)
黑马eesy_15 Vue:02.常用语法 黑马eesy_15 Vue:03.生命周期 黑马eesy_15 Vue:04.Vue案例(ssm环境搭建) 黑马eesy_15 Vue:04.综合案例(前端 ...
- JQuery:JQuery基本语法,JQuery选择器,JQuery DOM,综合案例 复选框,综合案例 随机图片
知识点梳理 课堂讲义 1.JQuery快速入门 1.1.JQuery介绍 jQuery 是一个 JavaScript 库. 框架:Mybatis (jar包) 大工具 插件:PageHelper (j ...
随机推荐
- 如何使用Camtasia给视频或者图片调色
喜欢摄影过着做视频的朋友一定知道,一张好看的照片或者一段精美视频的构成因素很多,取景本身肯定是个很重要的条件,相机的素质是非常重要的硬件条件,接下来的就是后期的编辑和处理了,而在后期处理过程中调色就显 ...
- 怎么借助CrossOver安装想要的Windows程序
面对安装双系统时的繁琐步骤,以及虚拟机软件那庞大的体积,CrossOver的出现,让一切都变得简单起来. CrossOver自带的一系列的Windows应用,涵盖游戏软件.办公软件.设计软件等多个种类 ...
- yii2-imagine的使用
<?php /** * 图片常用处理 * * 需要 yii/yii2-imagine 的支持 * php composer.phar require --prefer-dist yiisoft/ ...
- C语言讲义——dll调用
DLL:Dynamic Link Library,动态链接库.一个应用程序可使用多个DLL文件,一个DLL文件也可以被不同的应用程序使用. 先新建一个dll项目 再创建C项目进行调用 #include ...
- MindSpore手写数字识别初体验,深度学习也没那么神秘嘛
摘要:想了解深度学习却又无从下手,不如从手写数字识别模型训练开始吧! 深度学习作为机器学习分支之一,应用日益广泛.语音识别.自动机器翻译.即时视觉翻译.刷脸支付.人脸考勤--不知不觉,深度学习已经渗入 ...
- 【数据结构】关于前缀树(单词查找树,Trie)
前缀树的说明和用途 前缀树又叫单词查找树,Trie,是一类常用的数据结构,其特点是以空间换时间,在查找字符串时有极大的时间优势,其查找的时间复杂度与键的数量无关,在能找到时,最大的时间复杂度也仅为键的 ...
- golang 自学系列(四)——debug for vscode
golang 自学系列(四)--(调试)VSCode For Debug 这里如何装 vscode 我就不说了 这里如何在 vscode 正常写代码我也不说了 在能正常用 vscode 写 go 语言 ...
- Beta冲刺随笔——Day_Six
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...
- python 爬虫 汽车之家车辆参数反爬
水平有限,仅供参考. 如图所示,汽车之家的车辆详情里的数据做了反爬对策,数据被CSS伪类替换. 观察 Sources 发现数据就在当前页面. 发现若干条进行CSS替换的js 继续深入此JS 知道了数据 ...
- Java进阶专题(十八) 系统缓存架构设计 (下)
前言 上章节介绍了Redis相关知识,了解了Redis的高可用,高性能的原因.很多人认为提到缓存,就局限于Redis,其实缓存的应用不仅仅在于Redis的使用,比如还有Nginx缓存,缓存队列等等.这 ...