不依赖任何框架、库实现的一个动态展示页面。
遇到的一些坑及总结
具体功能要求如下:
点击顶部通知条中的“X 不再提醒”后,刷新页面不再出现此通知条(使用本地cookie实现)。点击项的hover效果见视觉稿。
- 点击关注按钮:首先判断登录的cookie是否已设置(loginSuc)
- 如果未设置登录cookie,则弹出登录框,使用给定的用户名和密码(需要表单验证)调用服务器Ajax登录,成功后设置登录cookie
- 登录成功后,调用关注API,并设置关注成功的cookie(followSuc)
- 登录后“关注”按钮变成不可点的“已关注”状态。按钮的hover效果见视觉稿
点击导航中的“网易公开课”,“网易云课堂”,“中国大学MOOC”,新窗口打开对目的页面,对应的跳转链接如下,点击项的hover效果见视觉稿。点击“了解更多>”的跳转链接及打开方式相同。
- 网易公开课:http://open.163.com/
- 网易云课堂:http://study.163.com/
- 中国大学MOOC:http://www.icourse163.org/
三张轮播图轮播效果:实现每5s切换图片,图片循环播放;鼠标悬停某张图片,则暂停切换;切换效果使用入场图片500ms淡入的方式。点击后新开窗口打开目的页面,对应的跳转链接如下,
- banner1:http://open.163.com/
- banner2:http://study.163.com/
- banner3:http://www.icourse163.org/
点击“产品设计”或“编程语言”tab,实现下方课程内容的更换。tab项的hover及选中效果见视觉稿,tab项对应的课程卡片数据见本文档的数据接口列表
鼠标悬停“产品设计”或“编程语言”tab下的任意课程卡片,出现浮层显示该课程的课程详情;鼠标离开课程详情浮层,则浮层关闭。课程卡片即详情浮层的效果见视觉稿,课程卡片及详情数据见本文档的数据接口列表
点击“机构介绍”中的整块图片区域,调用浮层播放介绍视频。图片的hover效果见视觉稿,浮层中调用的播放器(不做浏览器兼容,可用html5)及视频内容接口见本文档的数据接口列表
实现每次进入或刷新本页面,“热门推荐”模块中,接口返回20门课程数据,默认展示前10门课程,隔5秒更新一门课程,实现滚动更新热门课程的效果。课程数据接口见本文档的数据接口列表
根据浏览器窗口宽度,适应两种视觉布局尺寸。窗口宽度<1205时,使用小屏视觉布局;窗口宽度>=1205时,使用大屏视觉布局。布局示意图见视觉效果
说明 | 参数 |
---|---|
请求地址格式 | http://study.163.com/webDev/couresByCategory.htm |
请求方式 | get类型 |
请求参数 | pageNo; psize; type; |
请求参数说明 | 当前页码 ; 每页返回数据个数 ; 筛选类型(10:产品设计;20:编程语言) ; |
返回 | 课程列表数据(JSON格式字符串) |
返回数据说明 | 需要显示的字段如下:
|
说明 | 参数 |
---|---|
请求地址格式 | http://study.163.com/webDev/hotcouresByCategory.htm |
请求方式 | get类型 |
请求参数 | 无 |
请求参数说明 | 无 |
返回 | 课程列表数据(JSON格式字符串) |
返回数据说明 | 需要显示的字段如下:
|
说明 | 参数 |
---|---|
请求地址格式 | http://study.163.com/webDev/attention.htm |
请求方式 | get类型 |
请求参数 | 无 |
请求参数说明 | 无 |
返回 | 1 |
返回数据说明 | 正确返回1后设置关注cookie(followSuc) |
说明 | 参数 |
---|---|
请求地址格式 | http://study.163.com/webDev/login.htm |
请求方式 | get类型 |
请求参数 | userName; password; |
请求参数说明 | 固定用户帐号:studyOnline ; 固定用户密码:study.163.com ; 使用Md5加密该用户数据 ; |
返回 | 整型 |
返回数据说明 | 1 //匹配用户名密码成功 0 //匹配用户名密码失败 |
说明 | 参数 |
---|---|
请求地址格式 | http://mov.bn.netease.com/open-movie/nos/mp4/2014/12/30/SADQ86F5S_shd.mp4 |
按照效果图切图,正确测量大小宽高距离位置等数值,文字边框背景等颜色能正确取色。
页面兼容IE8+、FF、Chrome,允许圆角、阴影只在高版本浏览器中实现。
完善的头部信息,代码缩进,正确使用语义化标签及实体,考虑SEO需要,正确嵌套标签,正确使用标签属性,规范的注释格式。
CSS文件内部规范化分类,分类顺序规范,选择器命名和顺序符合规范,属性的顺序和格式符合规范,Hack符合规范,注释清晰格式规范,合理优化背景图,合理优化选择器,合理缩写属性值。
代码简洁性、通用性、扩展性、可读性、可维护性。
按照效果图和上面的功能点完成所有功能
要求能兼容以下浏览器(可以不考虑跨域问题)
- Chrome 3+
- Firefox 3.5+
- Opera 12+
- Safari 4+
- Internet Explorer 8+
- 本作业要求不使用任何的Js框架
- Js代码要求有统一的命名规范(保证在自己写的代码中要做到统一)
- Js代码要求整洁、紧凑、可读性好,并保证有四个空格的缩进
- Js代码要求注释完整。
- 三个工作日完成页面制作(细节处理,浏览器统一等)
- 七个工作日完成逻辑处理,上传作业。