목차
" > href="javascript: openwindow( ) "
" >href="javascript: closewindow( ) "
考核点
데이터 베이스 MySQL 튜토리얼 教案:第二学期JavaScript第2章DOM编程

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

Jun 07, 2016 pm 03:38 PM
dom javascript 프로그램 작성

授课教师:牟勇 课时: 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  本章重点

nwindow对象的open()方法

l  本章难点

n自定义函数的参数传递

l  本章工作任务

n制作广告窗口特效

n制作时钟显示特效

l   整章授课思路

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

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

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

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

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

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

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

回顾上一章:   [10分钟]

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

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

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

预习检查:   [5分钟]

解释名词“根节点”、“子节点”和“相邻节点“。

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

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

课程知识点讲解:   

DOM模型介绍:[10分钟]

HTML的树状结构

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

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

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

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

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

什么是DOM

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

function changeLink()

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

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

淘宝

DOM改变链接">

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

HTMLDOM对象模型

首先出示幻灯片上的浏览器图形,依次说明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.widthwindow.screen.height:客户端显示器的分辨率。

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

window.alert():弹出警告框

window.confirm:弹出确认框。

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

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

关于open()方法

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

 

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

height 窗口高度;

width 窗口宽度;

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

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

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

menubarscrollbars 表示菜单栏和滚动栏。

resizable 是否允许改变窗口大小,yes1为允许

location 是否显示地址栏,yes1为允许

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

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

href="javascript: openwindow( ) "

>用户注册

href="javascript: closewindow( ) "

>退

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

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

onLoad="openwindow( )">

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

弹出模式注册窗口

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 00:00:00 以来的毫秒数

声明:

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

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

Date对象的方法

名称

说明

setYear()

设置年份

setMonth()

设置月份(011)

setDate()

设置日期(131)

setDay()

设置星期(06)

setHours()

设置小时(023)

setMinutes()

设置分钟(059)

setSeconds()

设置秒(059)

getYear()

获得年份

getMonth()

获得月份(011)

getDate()

获得日期(131)

getDay()

获得星期(06)

getHours()

获得小时(023)

getMinutes()

获得分钟(059)

getSeconds()

获得秒(059)

示例:

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  myTimesetTimeout( 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);

}

H2>当前时间:

   value="" size="10" >

   

教员应说明重点代码(红色部分)

小结2:编写如图所示,具有在网页中指定位置显示动态时钟效果的页面。

教员应出示练习代码,让学员进行代码填空。

locationhistory对象[5分钟]

history对象的方法

名称

说明

back()

加载history列表中的上一个url

forward()

加载history列表中的下一个url

go(url)go(数字)

加载history列表中指定的一个url

back ( )方法相当于后退按钮

forward ( ) 方法相当于前进按钮

go (1)代表前进1页,等价于forward( )方法;

go(-1) 代表后退1页,等价于back( )方法;

location对象的属性和方法

名称

说明

host

设置或检索位置或 URL 的主机名和端口号

hostname

设置或检索位置或 URL 的主机名部分

href

设置或检索完整的 URL 字符串

assign("url")

加载 URL 指定的新的 HTML 文档。  

reload()

重新加载当前页

replace("url")

通过加载 URL 指定的文档来替换当前文档

示例:

跳转到其他版块

id="selPTopic" onChange="javascript: location=this.value">

     新闻贴图

      网上谈兵

      茶馆

     教育大家谈

……

"javascript: history.back( )">返回 "javascript: history.forward( )">前进 "javascript: location.reload( )">刷新 首页

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

本章总结   [10分钟]

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

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

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

请解释setTimeout方法适用场合?

请列举locationhistory对象的常用方法?

考核点

window对象的open()方法

setTimeout方法的使用

location

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

정규 표현식을 사용하여 PHP 배열에서 중복 값 제거 정규 표현식을 사용하여 PHP 배열에서 중복 값 제거 Apr 26, 2024 pm 04:33 PM

정규식을 사용하여 PHP 배열에서 중복 값을 제거하는 방법: 정규식 /(.*)(.+)/i를 사용하여 중복 항목을 일치시키고 바꿉니다. 배열 요소를 반복하고 preg_match를 사용하여 일치하는지 확인합니다. 일치하면 값을 건너뛰고, 그렇지 않으면 중복 값이 ​​없는 새 배열에 추가합니다.

프로그래밍이란 무엇을 위한 것이며 프로그래밍을 배워서 무슨 소용이 있습니까? 프로그래밍이란 무엇을 위한 것이며 프로그래밍을 배워서 무슨 소용이 있습니까? Apr 28, 2024 pm 01:34 PM

1. 프로그래밍은 웹사이트, 모바일 애플리케이션, 게임, 데이터 분석 도구 등 다양한 소프트웨어와 애플리케이션을 개발하는 데 사용될 수 있습니다. 응용 분야는 매우 광범위하여 과학 연구, 의료, 금융, 교육, 엔터테인먼트 등 거의 모든 산업을 포괄합니다. 2. 프로그래밍을 배우면 문제 해결 능력과 논리적 사고 능력을 향상하는 데 도움이 됩니다. 프로그래밍하는 동안 우리는 문제를 분석 및 이해하고, 해결책을 찾고, 이를 코드로 변환해야 합니다. 이러한 사고방식은 우리의 분석적이고 추상적인 능력을 키우고 실제적인 문제를 해결하는 능력을 향상시킬 수 있습니다.

Golang을 사용하여 브라우저 기반 애플리케이션 구축 Golang을 사용하여 브라우저 기반 애플리케이션 구축 Apr 08, 2024 am 09:24 AM

Golang을 사용하여 브라우저 기반 애플리케이션 구축 Golang은 JavaScript와 결합하여 동적 프런트 엔드 경험을 구축합니다. Golang 설치: https://golang.org/doc/install을 방문하세요. Golang 프로젝트 설정: main.go라는 파일을 만듭니다. GorillaWebToolkit 사용: GorillaWebToolkit 코드를 추가하여 HTTP 요청을 처리합니다. HTML 템플릿 생성: 기본 템플릿인 템플릿 하위 디렉터리에 index.html을 생성합니다.

코딩의 핵심: 초보자를 위한 Python의 힘 활용 코딩의 핵심: 초보자를 위한 Python의 힘 활용 Oct 11, 2024 pm 12:17 PM

Python은 배우기 쉽고 강력한 기능을 통해 초보자에게 이상적인 프로그래밍 입문 언어입니다. 기본 사항은 다음과 같습니다. 변수: 데이터(숫자, 문자열, 목록 등)를 저장하는 데 사용됩니다. 데이터 유형: 변수의 데이터 유형(정수, 부동 소수점 등)을 정의합니다. 연산자: 수학 연산 및 비교에 사용됩니다. 제어 흐름: 코드 실행(조건문, 루프) 흐름을 제어합니다.

Python을 사용한 문제 해결: 초보 코더로서 강력한 솔루션 잠금 해제 Python을 사용한 문제 해결: 초보 코더로서 강력한 솔루션 잠금 해제 Oct 11, 2024 pm 08:58 PM

Python은 초보자에게 문제 해결 능력을 부여합니다. 사용자 친화적인 구문, 광범위한 라이브러리 및 변수, 조건문 및 루프 사용 효율적인 코드 개발과 같은 기능을 제공합니다. 데이터 관리에서 프로그램 흐름 제어 및 반복 작업 수행에 이르기까지 Python은 제공합니다.

C++ 프로그래밍 퍼즐 모음: 사고를 자극하고 프로그래밍 기술을 향상시킵니다. C++ 프로그래밍 퍼즐 모음: 사고를 자극하고 프로그래밍 기술을 향상시킵니다. Jun 01, 2024 pm 10:26 PM

C++ 프로그래밍 퍼즐은 피보나치 수열, 계승, 해밍 거리, 배열의 최대값과 최소값 등과 같은 알고리즘 및 데이터 구조 개념을 다룹니다. 이러한 퍼즐을 풀면 C++ 지식을 통합하고 알고리즘 이해 및 프로그래밍 기술을 향상시킬 수 있습니다.

C에 대한 이해: 새로운 프로그래머를 위한 명확하고 간단한 길 C에 대한 이해: 새로운 프로그래머를 위한 명확하고 간단한 길 Oct 11, 2024 pm 10:47 PM

C는 초보자가 시스템 프로그래밍을 배우기에 이상적인 선택입니다. 여기에는 헤더 파일, 기능 및 주요 기능이 포함되어 있습니다. "HelloWorld"를 인쇄할 수 있는 간단한 C 프로그램에는 표준 입출력 함수 선언이 포함된 헤더 파일이 필요하며 인쇄하려면 기본 함수에서 printf 함수를 사용합니다. C 프로그램은 GCC 컴파일러를 사용하여 컴파일하고 실행할 수 있습니다. 기본 사항을 마스터한 후에는 데이터 유형, 함수, 배열 및 파일 처리와 같은 주제로 이동하여 능숙한 C 프로그래머가 될 수 있습니다.

Go Get으로 Go 모듈을 빠르고 쉽게 받으세요. Go Get으로 Go 모듈을 빠르고 쉽게 받으세요. Apr 07, 2024 pm 09:48 PM

GoGet을 통해 Go 모듈을 빠르고 쉽게 얻을 수 있습니다. 단계는 다음과 같습니다. 터미널에서 실행: goget[module-path], 여기서 module-path는 모듈 경로입니다. GoGet은 모듈과 해당 종속성을 자동으로 다운로드합니다. 설치 위치는 GOPATH 환경 변수에 의해 지정됩니다.

See all articles