찾다
데이터 베이스MySQL 튜토리얼教案:第二学期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  本章重点

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으로 문의하세요.
Composite Index와 여러 단일 열 인덱스를 언제 사용해야합니까?Composite Index와 여러 단일 열 인덱스를 언제 사용해야합니까?Apr 11, 2025 am 12:06 AM

데이터베이스 최적화에서 쿼리 요구 사항에 따라 인덱싱 전략을 선택해야합니다. 1. 쿼리에 여러 열이 포함되고 조건 순서가 수정되면 복합 인덱스를 사용하십시오. 2. 쿼리에 여러 열이 포함되어 있지만 조건 순서가 고정되지 않은 경우 여러 단일 열 인덱스를 사용하십시오. 복합 인덱스는 다중 열 쿼리를 최적화하는 데 적합한 반면 단일 열 인덱스는 단일 열 쿼리에 적합합니다.

MySQL에서 느린 쿼리를 식별하고 최적화하는 방법은 무엇입니까? (느린 쿼리 로그, Performance_schema)MySQL에서 느린 쿼리를 식별하고 최적화하는 방법은 무엇입니까? (느린 쿼리 로그, Performance_schema)Apr 10, 2025 am 09:36 AM

MySQL 느린 쿼리를 최적화하려면 SlowQueryLog 및 Performance_Schema를 사용해야합니다. 1. SlowQueryLog 및 Set Stresholds를 사용하여 느린 쿼리를 기록합니다. 2. Performance_schema를 사용하여 쿼리 실행 세부 정보를 분석하고 성능 병목 현상을 찾고 최적화하십시오.

MySQL 및 SQL : 개발자를위한 필수 기술MySQL 및 SQL : 개발자를위한 필수 기술Apr 10, 2025 am 09:30 AM

MySQL 및 SQL은 개발자에게 필수적인 기술입니다. 1.MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템이며 SQL은 데이터베이스를 관리하고 작동하는 데 사용되는 표준 언어입니다. 2.MYSQL은 효율적인 데이터 저장 및 검색 기능을 통해 여러 스토리지 엔진을 지원하며 SQL은 간단한 문을 통해 복잡한 데이터 작업을 완료합니다. 3. 사용의 예에는 기본 쿼리 및 조건 별 필터링 및 정렬과 같은 고급 쿼리가 포함됩니다. 4. 일반적인 오류에는 구문 오류 및 성능 문제가 포함되며 SQL 문을 확인하고 설명 명령을 사용하여 최적화 할 수 있습니다. 5. 성능 최적화 기술에는 인덱스 사용, 전체 테이블 스캔 피하기, 조인 작업 최적화 및 코드 가독성 향상이 포함됩니다.

MySQL 비동기 마스터 슬레이브 복제 프로세스를 설명하십시오.MySQL 비동기 마스터 슬레이브 복제 프로세스를 설명하십시오.Apr 10, 2025 am 09:30 AM

MySQL 비동기 마스터 슬레이브 복제는 Binlog를 통한 데이터 동기화를 가능하게하여 읽기 성능 및 고 가용성을 향상시킵니다. 1) 마스터 서버 레코드는 Binlog로 변경됩니다. 2) 슬레이브 서버는 I/O 스레드를 통해 Binlog를 읽습니다. 3) 서버 SQL 스레드는 데이터를 동기화하기 위해 Binlog를 적용합니다.

MySQL : 쉽게 학습하기위한 간단한 개념MySQL : 쉽게 학습하기위한 간단한 개념Apr 10, 2025 am 09:29 AM

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

MySQL : 데이터베이스에 대한 사용자 친화적 인 소개MySQL : 데이터베이스에 대한 사용자 친화적 인 소개Apr 10, 2025 am 09:27 AM

MySQL의 설치 및 기본 작업에는 다음이 포함됩니다. 1. MySQL 다운로드 및 설치, 루트 사용자 비밀번호를 설정하십시오. 2. SQL 명령을 사용하여 CreateAbase 및 CreateTable과 같은 데이터베이스 및 테이블을 만듭니다. 3. CRUD 작업을 실행하고 삽입, 선택, 업데이트, 명령을 삭제합니다. 4. 성능을 최적화하고 복잡한 논리를 구현하기 위해 인덱스 및 저장 절차를 생성합니다. 이 단계를 사용하면 MySQL 데이터베이스를 처음부터 구축하고 관리 할 수 ​​있습니다.

InnoDB 버퍼 풀은 어떻게 작동하며 성능에 중요한 이유는 무엇입니까?InnoDB 버퍼 풀은 어떻게 작동하며 성능에 중요한 이유는 무엇입니까?Apr 09, 2025 am 12:12 AM

innodbbufferpool은 데이터와 색인 페이지를 메모리에로드하여 MySQL 데이터베이스의 성능을 향상시킵니다. 1) 데이터 페이지가 버퍼 풀에로드되어 디스크 I/O를 줄입니다. 2) 더러운 페이지는 정기적으로 디스크로 표시되고 새로 고침됩니다. 3) LRU 알고리즘 관리 데이터 페이지 제거. 4) 읽기 메커니즘은 가능한 데이터 페이지를 미리로드합니다.

MySQL : 초보자를위한 데이터 관리의 용이성MySQL : 초보자를위한 데이터 관리의 용이성Apr 09, 2025 am 12:07 AM

MySQL은 설치가 간단하고 강력하며 데이터를 쉽게 관리하기 쉽기 때문에 초보자에게 적합합니다. 1. 다양한 운영 체제에 적합한 간단한 설치 및 구성. 2. 데이터베이스 및 테이블 작성, 삽입, 쿼리, 업데이트 및 삭제와 같은 기본 작업을 지원합니다. 3. 조인 작업 및 하위 쿼리와 같은 고급 기능을 제공합니다. 4. 인덱싱, 쿼리 최적화 및 테이블 파티셔닝을 통해 성능을 향상시킬 수 있습니다. 5. 데이터 보안 및 일관성을 보장하기위한 지원 백업, 복구 및 보안 조치.

See all articles

핫 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에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!