好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

教案:第二学期JavaScript第2章DOM编程

授课教师:牟勇 课时: 100 分钟 l 本章技能目标 n 会运用 DOM 模型查找某个 HTML 元素 n 会使用 window 对象的 open( ) 方法制作各种样式的广告窗口 n 会使用 window 对象的 setTimeout( ) 方法和 Date 对象制作日期显示效果 l 本章重点 n window 对象的 op

授课教师:牟勇

课时: 100 分钟

l 本章技能目标

n 会运用 DOM 模型查找某个 HTML 元素

n 会使用 window 对象的 open( ) 方法制作各种样式的广告窗口

n 会使用 window 对象的 setTimeout( ) 方法和 Date 对象制作日期显示效果

l 本章重点

n window 对象的 open() 方法

l 本章难点

n 自定义函数的参数传递

l 本章工作任务

n 制作广告窗口特效

n 制作时钟显示特效

l 整章授课思路

n 先演示本章要实现的效果页面,然后逐一告诉学员如何做,穿插讲解理论。

n DOM 模型介绍:举例说明为什么需要 DOM 以及什么是 DOM 。

n window 对象常用的属性,方法事件介绍:重点举例讲解 open() 方法的不同风格的窗口, showdialog() 方法的模式窗口,这是本章的重点,网页应用较多。

n date 对象和 setTimeout() 方法做时钟显示:时钟特效的基本代码要掌握,以便看懂更高级的时钟特效源码。

n location 对象和 history 对象:模拟 IE 中的前进,后退按钮或网页的返回效果即可。

n 常见错误:列举开发中常见的脚本或网页 HTML 常犯错误,直接将经验传授给学员。

n 以上内容,教员应现场演示,加强与学生的互动。

回顾上一章 : [10 分钟 ]

请简述一下脚本执行的原理。

在 JavaScript 中有哪些控制语句及其含义?

如何创建一个有参函数以及如何调用它?

预习检查 : [5 分钟 ]

解释名词[根节点]、[子节点]和[相邻节点[。

window 对象常用的属性有哪些?

请解释 setTimeout( ) 方法的功能。

课程知识点讲解:

DOM 模型介绍: [10 分钟 ]

HTML 的树状结构

如果我们分析常见的页面 HTML 源代码,我们会发现存在树状的文档结构。

其中, 是最顶一层,我们称它为根节点,根节点是没有上级 ( 也称为父节点 ) 的节点,在它的下面有两个子节点: 和 ,而 是它们的父节点。由于 和 它们有共同的父节点,所以我们把这两个节点的关系称为兄弟节点。我们还会看到在这棵树的最底层有一些节点,它们没有子节点。这些节点我们把它们称为叶节点。

问题:发现这个规律对我们有什么用?

答案:由于 HTML 的内容是静态的,如果我们要操作这些元素,就必须首先准确找到这些元素。由于它们是一个树状结构,各自的位置是相对固定的,这一点就保证了我们可以准确的找到我们想要修改的元素。这个树状结构我们给它取了一个名称,叫 DOM(Document Object Model) 。

( 出示示例:修改超链接 )

什么是 DOM

DOM - Document Object Model , 它是 W3C 国际组织的一套 Web 标准,它定义了访问 HTML 文档对象的一套属性、方法和事件 。

function changeLink()

{ document.getElementById('myAnchor').innerHTML=" 搜狐 " ;

document.getElementById('myAnchor').href="http://www.sohu.com" ; }

淘宝

使用 DOM 改变链接 ">

教员应重点解释 JavaScript 函数中的 getElementById() 方法的意义,以及 innerHTML 属性和 href 属性的意义。

HTML 的 DOM 对象模型

首先出示幻灯片上的浏览器图形,依次说明 window 对象, history 对象, document 对象, form 对象的具体含义,给学员以形象的记忆点,之后告诉学员,由于存在这样一个层次结构,所以在我们引用某个 HTML 元素时,我们要按顺序一层一层的进行引用,例如我们要找到表单[ myform ]我们可以写做 window.document.myform ,强调书写格式:每个对象之间用[ . ]分隔。

之后出示幻灯片上的 HTML DOM 对象模型图,说明对象的名称,它们之间的层次关系。

告诉学员:我们后续章节将依次从上而下介绍 window 对象, document 对象, history 对象, location 对象,常用的 form 表单对象及它们的具体用法。

window 对象: [40 分钟 ]

window 对象的常用属性和方法

首先介绍 window 的常用属性和方法:

名称

说明

status

指定浏览器状态栏中显示的临时消息

screen

有关客户端的屏幕和显示性能的信息

history

有关客户端访问过的 URL 的信息

location

有关当前 URL 的信息

document

表示浏览器窗口中的整个 HTML 文档

alert([ 提示信息 ])

显示一个带有提示信息和确定按钮的对话框

confirm([ 提示信息 ])

显示一个带有提示信息,确定和取消按钮的对话框

open([url],]name])

打开具有指定名称的新窗口,并加载给定 URL 所指定的文档,如果没有 URL ,则打开一个新的空白窗口。

close()

关闭当前窗口

whoeModalDialog()

在模式窗口中显示指定的 HTML 文档

setTimeout([ 函数 ], 毫秒数 )

定时器,经过指定毫秒数后执行某个程序

如何使用 window 对象

function openwindow( )

{ window.status =" 系统当前状态:您正在注册用户 ......";

if ( window.screen.width == 1024 && window.screen.height == 768)

window .open("register.html");

else

window.alert(" 请设置分辨率为 1024x768 ,然后再打开 "); }

function closewindow( )

{ if(window .confirm( " 您确认要退出系统吗? "))

window .close( ) ;

}

用户注册 "

onclick="openwindow( )">

退 出 "

onclick="closewindow( )">

教员讲解重点代码 ( 红色部分 ) ,并进行效果演示,以加强学员的印象 ( 建议先演示效果,之后再讲解代码 ) 。

window.status: 在状态栏显示信息。

window.screen.width 和 window.screen.height :客户端显示器的分辨率。

window.open() :打开一个新窗口。

window.alert() :弹出警告框

window.confirm :弹出确认框。

window.close() :关闭当前窗口。

其中,因为 window 是最顶层的对象,所以,在调用 open() , alert() 和 close() 方法时可以省写。

关于 open() 方法

open (]打开窗口的 url ],]窗口名],]窗口特征])

窗口的特征如下,可以任意组合:

height : 窗口高度;

width : 窗口宽度;

top : 窗口距离屏幕上方的象素值;

left :窗口距离屏幕左侧的象素值;

toolbar : 是否显示工具栏, yes 为显示;

menubar , scrollbars 表示菜单栏和滚动栏。

resizable : 是否允许改变窗口大小, yes 或 1 为允许

location : 是否显示地址栏, yes 或 1 为允许

status :是否显示状态栏内的信息, yes 或 1 为允许;

使用超链接调用打开窗口的函数

href="javascript: openwindow( ) " > 用户注册

href="javascript: closewindow( ) " > 退 出

教员重点讲解以上代码。说明使用 href 调用函数的写法: javascript: 函数名。

在窗口被加载时就调用函数弹出窗口

教员重点讲解以上代码。并说明由于弹出窗口并不受大多数人的欢迎,现在的浏览器都直接提供了拦截弹出窗口的功能,所以,这个功能应少用,否则可能会导致客户看不到他们应看到的内容。

弹出模式注册窗口

function openwindow( )

{ window.status=" 系统当前状态:您正在注册用户 ......";

if (window.screen.width == 1024 && window.screen.height == 768)

window.showModalDialog( "register.html", " 注册窗口 ", "toolbars=0,

location=0, statusbars=0, menubars=0,width=700,

height=550,scrollbars=1");

else

window.alert(" 请设置分辨率为 1024x768 ,然后再打开 "); }

function closewindow( )

{ if(window.confirm(" 您确认要退出系统吗? "))

window.close( ); }

H3> 用户注册

退 出

教员讲解重点代码 ( 红色部分 ) 。

模式窗口:被打开窗口将保持焦点,无法将焦点切换至原来的窗体。

小结 1 :

编写如左图所示,具有自动打开广告窗口和在浏览器状态栏中显示 [ 欢迎你 ......] 信息的页面。

教员出示练习代码,让二至三位学员上机完成代码填空。

date 对象和 setTimeout() 方法做时钟显示 [20 分钟 ]

问题: 如何实现如演示示例 3 中所示的时钟效果?

分析:由于涉及到时间的显示问题,所以要用到日期对象 Date 。还有时间在不停地走,因此需要不断地调用一个函数,所以要用到 Windows 的定时器 setTimeout( ) 方法。

Date 对象介绍:

Date 对象存储的日期为自 1970 年 1 月 1 日 0 以来的毫秒数

声明:

var mydate=new Date("July 29, 2007,10:30:00" ) 带时间格式的声明。 Date 对象会自动转换为毫秒数。

var today = new Date() 无参数声明,将获得当前系统时间。

Date 对象的方法

名称

说明

setYear()

设置年份

setMonth()

设置月份 (0 - 11)

setDate()

设置日期 (1 - 31)

setDay()

设置星期 (0 - 6)

setHours()

设置小时 (0 - 23)

setMinutes()

设置分钟 (0 - 59)

setSeconds()

设置秒 (0 - 59)

getYear()

获得年份

getMonth()

获得月份 (0 - 11)

getDate()

获得日期 (1 - 31)

getDay()

获得星期 (0 - 6)

getHours()

获得小时 (0 - 23)

getMinutes()

获得分钟 (0 - 59)

getSeconds()

获得秒 (0 - 59)

示例:

function disptime( )

{ var now= new Date( ) ;

var hour = now.getHours() ;

if (hour>=0 && hour

document.write("

上午好 ! ")

if (hour>12 && hour

document.write("

下午好 ! ") ;

if (hour>18 && hour

document.write("

晚上好 ! ") ;

document.write("

今天日期 :"+ now.getYear() +" 年 "+( now.getMonth( )+1 )+" 月 "+ now.getDate() +" 日 ") ;

document.write("

现在时间 :"+ now.getHours() +" 点 "+ now.getMinutes( ) +" 分 ") ; }

教员应演示示例,并讲解重点代码 ( 红色部分 )

问题:示例不能动态刷新,时间不会走,怎么办?

分析:由于时间在不停地走,所以应该每隔 1 秒调用显示时间的方法。如何解决?

解决方案: setTimeout 的用法:

setTimeout ([调用的函数] , ]定时的时间])

例: var myTime = setTimeout( [ disptime( ) ] , 1000 ) ;

function disptime( ){

var time = new Date( ); // 获得当前时间

var hour = time.getHours( ); // 获得小时、分钟、秒

var minute = time.getMinutes( );

var second = time.getSeconds( );

document.myform.myclock.value =hour+":"+minute+":"+second+" " ;

var myTime = setTimeout("disptime()",1000);

}

教员应先演示效果,然后讲解重点代码 ( 红色部分 )

本章总结 [10 分钟 ]

请简述 HTML 文档的树状结构?

window 对象有哪些常用的方法及其含义?

请列举 Date 对象有哪些方法?

请解释 setTimeout 方法适用场合?

请列举 location 和 history 对象的常用方法?

考核点

window 对象的 open() 方法

setTimeout 方法的使用

location 和 查看更多关于教案:第二学期JavaScript第2章DOM编程的详细内容...

  阅读:52次