DOM编程课后作业

一、DOM基础题(40分)

  1. 编写一个形如 $(arg) 的方法,能根据所传入参数的不同,获取对应的DOM节点,如:

    • var dom = $('#id'); // 传入参数为一个DOM节点的ID
    • var dom = $('.classname'); // 传入参数为一个DOM节点的css class
    • var dom = $('a'); // 传入参数为一个DOM节点的标签类型
    要求在如下浏览器中可正常运行:IE6/7/8/9、Chrome、Firefox、360、搜狗、遨游(20分)

  2. 编写一个形如 getOrSetDomAttr(dom,attrName,attrValue) 的方法,根据传入参数的不同,获取或设置DOM节点的属性值,如:

    • var imgSrc = getOrSetDomAttr(dom,'src'); // 获取图片的src值
    • getOrSetDomAttr(dom,'src','http://www.baidu.com/a.png'); // 设置图片的src值
    要求保证该方法的容错性(20分)

二、DOM综合题(60分)

以下两个作业,二选一即可。

  1. 在很多网站上都有一个“返回顶部”的按钮,点击按钮后滚动条会回到页面最顶部;请编写一个类似的组件,要求利用本节所学到的知识,保证该组件支持:

    • 鼠标点击可返回顶部
    • 键盘操作可返回顶部(具体的单键或组合键可自行设计)
    • 其他亮点功能(不做硬性要求)

  2. 编写一个自定义的弹层组件,仅实现Alert效果即可,效果可参考http://www.doitbegin.com/jDialog/test.html,要求实现以下几个功能点:

    • 弹层内容可任意设置
    • 弹层可拖拽
    • 键盘上按ESC键可关闭弹层
    • 保证如下浏览器中可正常运行:IE6/7/8/9、Chrome、Firefox、360、搜狗、遨游

三、附加题(20分)

利用本次DOM课程的相关知识,分析这个简单的网页游戏:超级玛丽,酌情给分:

附:关于课后作业的评分标准

  1. 功能完全实现(60%)
  2. 有较强的容错机制,如对参数不合法情况的处理等,能完全处理好浏览器兼容性(15%)
  3. 代码结构清晰、在重要的function或语句处有必要的注释(10%)
  4. 能考虑性能优化,如DocumentFragment的使用;变量或节点的实时delete,内存释放等(10%)
  5. 能围绕题目要求的功能,进行一些亮点设计(5%)

/

#