一.面向对象轮播

效果图:

img

功能思路分析:

**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、综合案例的更多相关文章

  1. JS 下拉菜单案例

    css代码 .nav { width: 300px; height: 400px; list-style: none; padding:; margin: 0 auto; } .nav>li { ...

  2. js下 Day12、案例

    一.垃圾分类 效果图: 功能思路分析: 1. 鼠标按下 (1) 获取鼠标到元素的距离(e.offsetX) (2) 开启开关变量 (3) 获取事件源 (4) 记录垃圾初始位置 ​  2. 鼠标移动 ( ...

  3. js下 Day11、案例

    一.成绩分类 效果图: 功能思路分析: 1. 渲染数据 2. 鼠标按下开启拖拽 \1. 给成绩盒子绑定鼠标按下事件(mousedown),用事件委托做多个标签的拖拽 \2. 开启控制拖拽的变量 \3. ...

  4. Ext.js入门:常用组件与综合案例(七)

    一:datefield简单示例 二:timefield简单示例 三:numberfield简单示例 四:FormPanel提交   datefield简单示例: <html xmlns=&quo ...

  5. js上 二十、综合案例

    二十.综合案例 题目一: **1. ** 数组随机 描述,写randomArray函数,传递一个数组,传递一个数值,返回一个指定个数的随机的新数组,不允许有重复数据 用例: randomArray([ ...

  6. js上 十九、综合案例

    十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...

  7. JavaScript:综合案例-表单验证

    综合案例:表单验证 开发要求: 要求定义一个雇员信息的增加页面,例如页面名称为"emp_add.htmnl",而后在此页面中要提供有输入表单,此表单定义要求如下: .雇员编号:必须 ...

  8. 黑马eesy_15 Vue:04.综合案例(前端Vue实现)

    黑马eesy_15 Vue:02.常用语法 黑马eesy_15 Vue:03.生命周期 黑马eesy_15 Vue:04.Vue案例(ssm环境搭建) 黑马eesy_15 Vue:04.综合案例(前端 ...

  9. JQuery:JQuery基本语法,JQuery选择器,JQuery DOM,综合案例 复选框,综合案例 随机图片

    知识点梳理 课堂讲义 1.JQuery快速入门 1.1.JQuery介绍 jQuery 是一个 JavaScript 库. 框架:Mybatis (jar包) 大工具 插件:PageHelper (j ...

随机推荐

  1. 超强工具集——GitHub 热点速览 Vol.47

    作者:HelloGitHub-小鱼干 本周 GitHub 趋势榜精彩至极,先是 JetBrains 开源的图像渲染引擎 Skia 有了 Java 封装,一开源便获得 500+ star,再是支持开发者 ...

  2. java中高级面试利器(boot,cloud,vue前后端提升)

    https://github.com/Snailclimb/JavaGuide   Java知识大全(面试) https://github.com/doocs/advanced-java  Java工 ...

  3. 深入浅出!springboot从入门到精通,实战开发全套教程!

    前言 之前一直有粉丝想让我出一套springboot实战开发的教程,我这边总结了很久资料和经验,在最近总算把这套教程的大纲和内容初步总结完毕了,这份教程从springboot的入门到精通全部涵盖在内, ...

  4. 深度解析:如何替换掉代码中的ifelse,我女朋友看完都会了!

    平时我们在写代码时,需要针对不同情况处理不同的业务逻辑,用得最多的就是if和else. 但是如果情况太多,就会出现一大堆的"if else",这就是为什么很多遗留系统中,一个函数可 ...

  5. 如何将IDM中的进程设置进行备份

    有时候我们想用浏览器自带的下载管理器进行下载,但是一点下载却被IDM(Internet Download Manager)自动嗅探捕获并下载,还有人因为重装系统使得之前更改IDM的设置都失效,只得重新 ...

  6. 一 HTML基础入门

    HTML概念 HTML是标记语言,由W3C组织提供的一套标记标签组成.其使用标记标签来描述网页,一个网页除了由大量的标签组成,还有后续要学习的css样式和JavaScript脚本组合而成. 网页与网站 ...

  7. day007|python基础回顾7

    文件处理 目录 文件处理 1 文件打开模式补充 2.1 文件操作之读操作 2.2 文件操作之写操作 3 控制文件指针移动 3.1 前提 3.2 f.seek() 4 文件修改的两种方式 4.1 方式一 ...

  8. gitlab 搭建(基于现有nginx)

    普通搭建请看:gitlab 搭建 一.gitlab搭建 1.添加GitLab镜像源并安装gitlab服务器 wget https://mirrors.tuna.tsinghua.edu.cn/gitl ...

  9. Powermockito 针对方法中new 对象的模拟,以及属性中new 对象的模拟

    PowerMocker 是一个功能逆天的mock 工具. 一,Powermockito 针对方法中new 对象的模拟 // 如何才能mock掉 WeChatConfigUtil 这个类,让 weCha ...

  10. 【刷题笔记】DP优化-斜率优化

    斜率优化,是一种利用斜率的优化(废话) 关于数论:咕咕咕 部分内容参考自学长 如果有这样的一个状态转移方程: \[f[i]=\min\limits_{j=L_j}^{R_j}\{f[j]+val(j, ...