DOM编程课后作业
一、DOM基础题(40分)
编写一个形如 $(arg) 的方法,能根据所传入参数的不同,获取对应的DOM节点,如:
- var dom = $('#id'); // 传入参数为一个DOM节点的ID
- var dom = $('.classname'); // 传入参数为一个DOM节点的css class
- var dom = $('a'); // 传入参数为一个DOM节点的标签类型
编写一个形如 getOrSetDomAttr(dom,attrName,attrValue) 的方法,根据传入参数的不同,获取或设置DOM节点的属性值,如:
- var imgSrc = getOrSetDomAttr(dom,'src'); // 获取图片的src值
- getOrSetDomAttr(dom,'src','http://www.baidu.com/a.png'); // 设置图片的src值
二、DOM综合题(60分)
以下两个作业,二选一即可。
在很多网站上都有一个“返回顶部”的按钮,点击按钮后滚动条会回到页面最顶部;请编写一个类似的组件,要求利用本节所学到的知识,保证该组件支持:
- 鼠标点击可返回顶部
- 键盘操作可返回顶部(具体的单键或组合键可自行设计)
- 其他亮点功能(不做硬性要求)
编写一个自定义的弹层组件,仅实现Alert效果即可,效果可参考http://www.doitbegin.com/jDialog/test.html,要求实现以下几个功能点:
- 弹层内容可任意设置
- 弹层可拖拽
- 键盘上按ESC键可关闭弹层
- 保证如下浏览器中可正常运行:IE6/7/8/9、Chrome、Firefox、360、搜狗、遨游
三、附加题(20分)
利用本次DOM课程的相关知识,分析这个简单的网页游戏:超级玛丽,酌情给分:
- 能详细说明此游戏的设计以及实现原理,所用到的DOM操作、相关事件等(5分)
- 能用代码设计出此游戏的雏形,且代码结构清晰(5分)
- 能保证游戏可玩,且能较好的处理DOM节点移除或复用等性能优化相关问题(10分)
附:关于课后作业的评分标准
- 功能完全实现(60%)
- 有较强的容错机制,如对参数不合法情况的处理等,能完全处理好浏览器兼容性(15%)
- 代码结构清晰、在重要的function或语句处有必要的注释(10%)
- 能考虑性能优化,如DocumentFragment的使用;变量或节点的实时delete,内存释放等(10%)
- 能围绕题目要求的功能,进行一些亮点设计(5%)
/
#