js基础


JavaScript简介

JavaScript是一种小型的、轻量级的、面向对象的、跨平台的客户端脚本语言。

JavaScript是嵌入到浏览器软件中的,只要有浏览器即可执行js程序。

JavaScript是一种面向对象的程序语言。

在程序中,对象是由“属性”和“方法”构成。

在现实中,男女朋友就是一个“对象”,一个“物体”就是“对象”。

注意,JS中的对象只要会用就可以,不需要我们自己开发。

跨平台:JS程序可以在多种平台下运行,如:windows、linux、mac、iOS等。

客户端脚本程序:JS只能在客户端的浏览器来运行,不能再服务器端来运行。

浏览器是一个翻译器,可以翻译三种代码:HTML、css、JavaScript。

JavaScript能干什么

表单验证:JS最基本的功能。

动态HTML:可以实现一些动态的、重复的效果。

交互式:人机交互,通过键盘鼠标,与网页中的元素进行交互。

 

<script></script>标记

JS代码也是嵌入到html标记中的。

同一个网页中,可以有html,css,javascript。

通过<script></script>标记来引入

常用的 两个客户端输出方法

document.write(str);

l  描述:在网页中的 <body>标记,输出str的内容。

l  Document意思是“文档”,就是整个网页。

l  document是一个文档对象,代表整个网页

l  write()是document对象的一个输出方法。

l  “.”小数点,通过小数点来调用对象的方法。

l  Str 表示要输出的内容。

 

window.alert(str)

l  描述:在当前窗口中弹出一个警示对话框,str为对话框显示内容。

l  Window代表当前浏览器窗口,window是一个窗口对象。

l  alert()方法,弹出一个对话框。

l  Str表示要输出的内容。

举例:window.alert(“你好!”);

JS中的注释

HTML中的注释:<!--注释内容 -- >、

Css中的注释:/*注释*/

JavaScript的注释://或者/*注释内容*/

 

变量

1.        变量的概念

在内存中运行和存在,临时存在的数据。

2.        变量的声明

l  申请空间

l  语法格式:var 变量名 = 变量值;

l  声明的变量是使用系统关键字var来进行的。

l  举例:

n  var name;//声明一个变量

n  var name,sex,edu;//同时声明多个变量

n  Var name=”张三”;//声明赋值

3.        变量的命名规则

l  变量名可以包含字母、数字、下划线

l  变量名不能以数字开头,可以以字母开头或者下划线开头

l  变量名不能是系统关键字

l  变量名 是区分大小写的。

l  如果变量名有多个单词构成的话,该如何表示?

n  “驼峰式命名”第一个打次全小写,后面的单词首字母大写,如:getUserName

n  “下划线式命名”:所有单词全小写,中间用下划线链接。如:varget_user_name

 

4.        给变量赋值

左边变量名,右边变量,常量,表达式。

基本数据类型

变量数据类型

变量的数据是有类型的,这个类型来源于“变量的值”,换句话说:值是什么类型的,变量就是什么类型的,这点与c语言有很大差别,C语言是先定义类型再给相应的值。包括数值型、字符型、布尔型、undefined、null、array、object、function。

 

数值型

l  可以进行算数运算,数值型包括整数,浮点数。

l  数值型中还有一个特殊的值,NaN(not a number)

l  当将其他类型转成数据类型,转不过去,但程序又不能报错,这时将返回一个NaN的值

l  一个字符串是不能转成有意义的数值类型的,只能转换成NaN

l  一个纯数字的字符串是可以转换成有意义的数值的。例如:

n  var width="300";width*=2;document.write(width);

字符型

l  不可以进行算数运算,可以进行链接运算(str1+str2)

l  用单引号或者双引号,引起来的一个字符串。

l  单引号和双引号之间可以相互嵌套

n  单引号只能嵌套双引号

n  双引号只能嵌套单引号

n  双引号嵌套双引号,需要进行转义,只用转义字符”\”

u  常用的转义字符有\’、\”、\\、\r、\n等

u  弹窗中的换行,只能用\n来实现。window.alert("超文本语言\n你好a ");

布尔型

布尔型又称逻辑型,只有两个值:true、false。

布尔型只有两个状态。

未定义型

当一个变量定义,但未赋值时,将返回未定义型,未定义型的值只有一个undefined。

当一个对象的属性不存在时,也返回未定义型。

空型

当一个对象不存在时,将返回空型,空型的值只有一个null。

也可以理解为:是一个对象的占位符。

如果你想清除一个变量的值的话,可以给他赋一个null 的值。

var a=100;

var a=null;

变量的数据类型转换

变量的类型转换,一般是js自动转换的,但也有时需要我们自己转。

其他类型转换成布尔型

Boolean()函数。

其他类型转换成字符型

其他类型转化成数值型

 

函数和方法的区别

Boolean(a)//函数是可以独立使用的

Document.write(a) //方法不能独立使用,必须属于那一个对象。

 

判断变量的数据类型:typeof()

l  使用一元运算符typeof(),可以测试一个变量的类型。

l  Typeof()的测试结果是一个类型字符串。

l  其结果有一下几种情况:

n  String

n  Number

n  Boolean

n  Undefined

n  Object:数组,null,对象

n  Function。

 

从字符串中提取整数和浮点数函数

perseInt()系统函数

l  功能:在一个字符串中,从左往右提取整数,如果遇到费整型的内容,则停止提取,并返回结果。

l  注意:如果第一个字符就是非整数,则立即停止,并返回NaN.

n  parseInt(“120px”)=120;

n  parseInt(“120.98”)=120;

n  parseInt(“a120px”)=NaN;

parseFloat()系统函数

l  功能:在一个字符串中,从左往右提取浮点型,遇到非浮点型内容,则停止提取,并返回结果。

l  注意:如果第一个字符就是非浮点型,则立即停止,并返回NaN。

n  parseFloat(“120px”)=120;

n  parseFloat(“120.98px”)=120.98;

n  parseFloat(“.120px”)=0.12;

n  parseFloat(“a.120px”)=NaN;

 

 

 

 

 

 

 

基本运算符

算数运算符 +、-、*、/、%、++、--

如果“+”左右有一个操作数是字符型的数据,则将另一个转换成字符串类型,运算将变成链接运算。

赋值运算符 =、+=、-=、*=

字符串运算符 =、+=

比较运算符:>、<、<=、>=、==、!=、===、!==

比较运算符的运算结果是布尔值true、false。

“=”赋值号

“==”等于号,只比较变量的值,而不管类型,只要值一样,就返回true,否则返回false。

“===”全等于。既比较值,也判断类型。如果类型和值都一样返回真,否则返回假。

逻辑运算符&&、||、!

逻辑运算符的结果只有两个true、false

三元运算符

所谓“三元运算符”就是指三个操作数。

语法:条件表达式?结果1:结果2

语法:操作数1?操作数2:操作数3

含义:如果条件为真,则执行结果1的代码,如果条件为假,则执行结果2代码。

其实:三元运算符,就是ifelse的变形形式

window.prompt()

l  功能:弹出有个输入框,让用户输入内容。

l  语法:varyear=window.prompt(text,[defaultText])

n  var str = window.prompt("请输入密码","password")

 

l  参数:

n  Text:提示信息

n  defaultText:可选项。输入框中的默认内容

l  返回值

n  如果单击确定按钮,返回一个字符串数据。

n  如果单击取消按钮,返回一个null。

 

写程序的一般步骤

l  变量名的初始化:变量的声明及赋值

l  程序的运行过程

l  输出结果

注意:JS变量赋值中必须是单行,不能换行。

特殊运算符

l  new 运算符:创建一个对象。如:vartoday =new Date();//创建一个当前系统日期时间的对象

l  delete运算符:删除数组的元素,或者对象的属性。

l  typeof运算符:一元运算符,主要功能,判断变量的类型的,如:typeof(name)或者typeof name。

l  点运算符(.):主要用用在对象中,通过点运算符去调用对象的属性或者方法。

l  []中括号:主要用来访问数组元素的。如arr[0]=100;//找到下标为0 的数组元素,赋值为0.

运算符优先级

If多条件判断和switch的区别。

If中的多条件一般是一个范围,而switch中的条件一般是一个变量的不同取值。

数组

数组的概念

一组数的集合,称为“数组”。

vararr=[10,20,30,40,50];

数组元素

数组中的每个元素,称为一个“数组元素”

数组索引

数组中有多个值,每个值都有一个“编号”,可以访问到数组的每个值。从0开始

数组元素的访问

数组的长度

数组中元素的总个数。

创建数组

1.        使用new关键字和Array()来创建

l  var arr=new Array();//创建一个空数组

l  var arr=new Array(“周更胜”,”男”,23);//创建一个数组,并初始化数组的元素。

2.        使用[]来创建

l  var arr=[12,23,34,45];

数组中元素的值,可以是任何类型。

数组的操作

读取元素:

修改元素:修改已经存在下标的值

增加元素:增加一个不存在的表表的元素。

删除元素:使用关键字delete,删除的只是数组中的值,而下标还在。

数组对象属性length

数组就是一个“数组对象”,使用其属性与方法。

length就是数组对象的一个属性,如var len=arrObj.length。

Length属性,可以获取数组的长度

函数

函数定义

因为在赋值之前,变量是没有类型的,所以,在给函数传递参数的时候,不需要指定变量类型。直接给参数就行,也不需定义。

例如functiongetMax(a,b)

function function_name(参数[])

{/代码

return 参数r;

}

function 关键字必须的,全小写

function_name函数名 函数名命名规则与变量名命名规则完全一样

函数调用

全局变量和局部变量

引用传值

拷贝传值

匿名函数          

没有名字的函数就是匿名函数。不能单独定义,也不能单独调用。

匿名函数一般是作为数据给其他变量赋值的。可以给普通变量、数组元素、对象属性

举例:vara=function(name,age)

{window.alert(name+”的年龄”+age+”岁”);}

a(“张三”,25);

alert(typeof (a));

二维数组

给一个数组元素,赋一个数组的,那么就是二维数组。

二维数组就是用两层循环来实现,也就是循环嵌套循环。

二维数组的循环,与二维表格的循环一模一样。

对二维数组的访问,数组名后跟多个连续的中括号,第一个中括号[]代表第一层数组,第二个中括号[]代表第二位数组。

对象

对象有属性和方法。

Js中对象分类

JS内置对象,数组对象、日起对象....

BOM对象,浏览器鼓组件对象,包括window、document、location、history....

DOM对象,文档对象,包括所有HTML标记,每一个HTML标记都是一个对象。

自定义对象,根据自己项目需要,自己定义自己对象。

自定义对象

1.        使用new关键字结合构造函数Object()来创建一个空的对象

2.        使用大括号{}创建对象

JS中内置对象

l  String对象:字符串对象,提供了对字符串进行操作的属性和方法

l  Array对象:数组对象,提供了数组操作方面的属性和方法

l  Date对象:日期时间对象,可以获取系统的日期时间信息

l  Boolean对象:布尔对象,一个布尔变量就是一个布尔对象。(没用可用的属性和方法)

l  Number对象:数值对象,一个数值变量就是一个数值对象。

l  Math对象:数学对象,提供了数学运算方面的属性和方法。

String对象的属性和方法

l  length:获取字符串的长度,如varlen=strObj.length;

toLowerCase():将字符串中的字母转化成全小写。如:strObj.toLowerCase();

toUpperCase():将字符串中的字母转化成全大写。如:strObj.toUpperCase();

charAt(index)

n  功能:返回指定下标的一个字符,如果没有找到,返回一个空字符

n  语法:strObj.charAt(index)

n  参数:index是指定的一个索引号,根据index索引号来返回一个字符。

n  例如:

u  var str="你不知道的事love";

u         str=str.toUpperCase();

u         for(vari=0;i<str.length;i++)

u         {

u                document.write(str.charAt(i)+"<br/>");

u        

u         }

indexOf()

n  功能:返回一个字符串在原始字符串中的索引值,没有找到返回-1.

n  语法:strObj.indexOf(substr)

n  参数:substr代表要查找的一个子字符串。

n  举例:

lastIndexOf()

n  功能;在原始字符串,从左往右查找某个字符串,如果没找到,返回-1.

n  语法:strObj.lastIndexOf(substr)

n  参数:substr代表查找的子字符串。

substr()

n  功能:在原始字符串中返回一个子字符串。

n  语法:strObj.substr(startIndex[,length])

n  说明:从下标startindex起,返回length个字符

n  参数

u  startindex起始索引号

u  length长度。省略一直到结尾。

substring()

n  功能:在原始字符串,返回一个子字符串

n  语法:strObj.substring(startindex[,endindex])

n  说明:返回从startindex到endindex之间的所有字符

n  参数

u  startindex开始索引值

u  endindex结束索引值,可选。省略,一直返回到最后。

n  注意:substring()返回的字符串包含startindex处的字符,不包含endindex处的字符。

split(),将一个字符串转成数组

n  功能:将一个字符串切割成若干段,返回一个数组。

n  语法:strObj.split(分隔号)

n  参数:参数是一个分隔号的字符串,用指定的分隔号将字母分割成若干段

n  举例”a,b,c,d”.split(“,”)返回一个数组

n  最小分隔符空字符串,可以将汉字语句分成一个个字的数组

concat()

语法:stringObject.concat(stringX,stringX,...,stringX)连接字符串

Array对象

一个数组变量就是一个数组对象。

length属性:动态获取数据长度如var len=arrObj.length;

join()

n  功能:将一个数组转成字符串

n  语法:arrobj.join(连接号)

n  说明:将一个数组,用指定的“连接号”连接成一个字符串。

reverse()

n  功能:将数组中的个元素顺序颠倒

n  语法:arrObj.reverse()

n  参数:无

n  说明,是对原始数组的操作

n  举例:   

vararr=["a","b","c"];

       arr.reverse();

       document.write(arr);

数组元素的删除和添加

delete运算符,只能删除数组的值,而空间还在。总长度不变

以前数组元素的添加只能往后面添加,不能往前面添加

shift()

删除数组中第一个元素,返回删除的那个值,并将长度减1,没有参数

pop()

删除数组中最后一个元素,返回删除的那个值,并将长度减1,没有参数。

unshift()

往数组前面添加一个或多个元素,长度要改变。arrObj.unshift(“a”,”c”,”v”);

push()

往数组结尾添加一个或多个数组元素,长度要改变。arrObj.push(“a”,”b”,”c”)

Date对象

Date对象和String对象不太一样,定义了一个字符串,其实就是一个String对象,就可以直接调用属性和方法。

Date对象的使用,必须使用new关键字来创建对象。否则,无法调用Date对象的属性和方法。

创建Date对象的方法

1.        创建当前日期对象的实例,不带任何参数。

Var today=newDate();

2.        创建指定时间戳的日期对象实例,参数是时间戳。1s=1000ms

时间戳:是指某个-时间距离197年1月1日0时0分0秒,过去了多少毫秒值。

之所以是8点是因为所在位置是东八区,所以加八个小时。

 

3.        指定一个字符串的日期时间信息,参数是一个日期时间字符串。

var timer=new Date(“2015/5/25 10:00:00”)年月日时分秒,

年月日用/隔开(必选),时分秒用:隔开(可选)。

举例:计算一下你活了多少天?

 

4.        指定多个数值参数

var timer =newData(2015,4,25,10,20,00)//顺序:年、月、日、时、分、秒(年月日必选)

举例:计算自己再活多少天能活到100岁。

 <scripttype="text/javascript">

       //vartoday=new Date();

       vartimer1=new Date().getTime();

       vartheday=new Date(1950+100,7,29);

       vartimer2=theday.getTime();

       varstr=(timer2-timer1)/1000/3600/24/365;

       document.write("张三再活"+str+"天就能活到百岁!<hr/>");

       //document.write(timer1+"<hr/>");

       //document.write(timer2+"<hr/>");

       alert(newDate().getMinutes());

 </script>

l  getFullYear():获取四位的年份

l  getMonth():获取月份,取值0~11

l  getDate():获取记号,取值1~31

l  getHours():获取小时数(当前小时)

l  getMinytes():分钟数(当前小时的分钟数)

l  getSeconds():秒数

l  getMilliseconds():毫秒(过去当前分钟的毫秒值)

l  getDay():星期,取值0~6

l  getTime():毫秒值(距离1970.1.1毫秒值)

Math数学对象

Math对象是静态对象,换句话说,在使用Math对象时,不需要创建实例

Math.PI:圆周率

l  Math.abs():绝对值,如Math.abs(-9)=9

l  Math.ceil():向上取整(整数加一,小数去掉)如Math.(10.2)=11

l  Math.floor():想下取整(直接去掉小数)如Math.(9.88)=9

l  Math.round():四舍五入如Math.round(4.5)=5 Math.round(4.4)=4

l  Math.pow(x,y)求x的y次方,如Math.pow(2,3)=8

l  Math.sqrt():求平方根,如Math.sqrt(4)=2

l  Math.random():返回一个0到1的随机小数,如:Math.random();

求随机数的公式:Math.random()*(max-min)+min

给网页加随机背景颜色

这种方法必须将<script></script>标签之后,因为写在之前会找不到<body>标签

v  访问网页中所有标记的起点是document。

v  除了body标记以外,其它标记的访问必须用id来访问。

Number数值对象

一个数值变量,就是一个数值对象(Number对象)

tofixed()

功能:将一个数值转成字符串,并进行四舍五入,保留指定位数的小数。

语法nuberobj.toFixed(n).

参数:n就是要保留的小数位数

举例:

var a=1234.789;

a.toFixed(2);

BOM和DOM简介

BOM,browser Object Model,浏览器对象模型

BOM主要提供了访问和操作浏览器各组件的方式。

浏览器组件:

n  window(浏览器窗口)

n  location(地址栏)

n  history(浏览历史)

n  screen(显示器屏幕)

n  navigator(浏览器软件)

n  document(网页本身)

DOM,Document Object Model,文档对象模型

DOM主要提供访问和操作HTML标记的方式。

HTML标记:

l  图片标记

l  表格标记

l  表单标记

l  body、html标记

l  ......

BOMDOM 不是JS的内容,他们是W3C制定的规范。但是DOMBOM在浏览器中以对象的形式得以实现。换句话说:BOMDOM都是有一组对象构成。

W3C是制作互联网标准的一个国际化组织,如:XHTMLCSSJavaScriptAJAX等。

BOM

BOM对象结构图

各对象之间是有层级关系的,那么各对象之间如何访问呢?

n  window.document.write(“OK”)

n  window.document.body.bgcolor=”#ff0000”

window对象是所有其他对象的顶级对象,因此,可以省略。

l  document.write(“OK”);

l  document.body.bgcolor=”#ff0000”

l  window.alert()=alert()

l  window.prompt(“请输入一个值”)--->prompt(“请输入一个值”);

 

window对象属性

l  name:指浏览器窗口名字,这个名字是给<a>标记的target属性来用。

n  设置窗口名字window.name=”newWin”

n  获取窗口名字document.write(name)

l  top:代表最顶层窗口如window.top

l  parent:代表父级窗口,主要用于框架

l  self:代表当前窗口, 主要用于框架

l  innerWidth :指浏览器窗口的内宽(不含菜单栏、工具栏、地址栏、状态栏)IE不支持

n  在IE下使用document.documentElement.clientWidth来代替window.innerWidth。

l  innerHeight:指浏览器的内高(不含菜单栏、工具栏、地址栏、状态栏)IE不支持

n  在IE下使用document.documentElement.clientHeight来代替window.innerHeight

n  document.documentElement就是<html>标记对象

n  document.body就是<body>标记对象

window对象方法

alert()弹出一个警告对话框

prompt()弹出一个输入对话框

confirm():弹出一个确认对话框

单击确认按钮返回true,单击取消返回false

close():关闭窗口

print()打印窗口

open()方法

l  功能;打开一个新的浏览器窗口

l  语法:varwinObj=window.open(url,name,options)

l  参数可有可无。如果没有参数,则打开一个选项卡式的窗口(大小是最大化)。

l  参数

n  url:准备在窗口中显示那个文件。url可以为空字符串,表示显示一个空的页面

n  name:新窗口的名字,该名字给<a>标记中的target属性来用

n  options:窗口的规格

u  width:新窗口的宽度

u  height:新窗口的高度

u  left:新窗口距离屏幕左边的距离

u  top:新窗口距离屏幕上边的距离

u  menubar:是否显示菜单栏取值:yes,no

u  toolbar:是否显示工具栏

u  status:是否显示状态栏

u  scrollbars滚动条取值yes,no

n  返回值:返回一个window对象的变量,可以通过该名称跟踪该窗口。winObj具备window对象的所有属性和方法。

onload事件:当网页加载完成,指<body>标记的所有内容全部加载完成,才触发该事件(条件)。通过onload事件属性去调用JS的函数,onload属性只有<body>标记才有。

onclick事件,当单击是时,去调用JS代码,所有html标记都有该属性

 

将有名函数传给事件。

延时器方法--setTimeout()

setTimeout()

l  功能:设置一个延时器。换句话说,时间一到,就执行JS代码一次。

l  语法:var timer=window.setTimeout(code,millsec)

l  参数:

n  code:是任何合法的JS代码,一般情况下是JS函数,该函数要放在引号中。

u  举例:window.setTimeout(“close()”,2000)

u  举例:window.setTimeout(init,2000)将函数(init())地址传过去,不需要加括号。如果加括号是将函数执行结果传到方法中。

n  millsec:毫秒值,1s=1000ms;

l  返回值:返回一个延时器的id变量,这个id变量给clearTimeout()用来清除。

clearTimeout()

l  功能:清除延时器变量id

l  语法:window.clearTimeout(timer)

l  参数:timer就是由setTimeout()设置的id变量

举例:简单的计数器

定时器方法

setInterval()

l  功能:设置一个定时器,重复不断的执行JS代码(周期性)

l  语法:vartimer=window.setInterval(code,millsec)

l  参数:

n  code:是任何合法的JS代码,一般情况下是JS函数,该函数要放在引号中

u  举例:window.setInterval(“init0”,2000)

u  举例:window.setInterval(init,2000)

n  millsec:毫秒值,1秒等于1000毫秒

l  返回值:返回一个定时器的id变量,这个id变量给clearInterval()用来清除

clearInterval()

l  功能:清除定时器id变量

l  语法:window.clearInterval(timer)

l  参数:timer就是由setInterval()设置的id变量

举例:使用延时器和定时器两种方法实现动态图片效果

screen屏幕对象

l  Width:屏幕宽度,只读属性

l  Height:屏幕的高度,只读属性

l  availWidth:屏幕的有效宽度,不含任务栏,只读属性

l  availHeight:屏幕的有效高度,不含任务栏,只读属性

navigator对象

appName:浏览器软件名称,主要用来判断客户使用的是什么核心的浏览器

n  如果是IE浏览器的话,返回值为:Microsoft Internet Explorer

n  如果是Firefox浏览器的话,返回值为:Netscape

l  appVersion:浏览器软件的核版本号

l  systemLanguage:系统语言

l  useLanguage:用户语言

l  plantform:平台

location地址栏对象

l  href:获取地址栏中完整的地址,JS的网页跳转,location.href=”http://www.sina.com.cn”;

//5秒后跳转

window.setTimeout('location.href="news.html"',5000);

l  host:主机名

l  hostname:主机名

l  pathname:文件路径及文件名

l  search:查询字符串

l  protocol:协议:如http://、ftp://

l  hash:锚点名称,如#top

l  reload([true]):刷新网页。true参数表示强制刷新

注意:所有的属性,重新赋值后,网页将自动刷新。

<meta http-equiv=”refresh”content=”5” ;url=”http://www.sina.com.cn”/>

history对象

l  length:历史记录的个数

go(n):同时可以实现前进和后退

n  history.go(0)刷新网页

n  history.go(-1)后退

n  history.go(1)前进一步

n  history.go(3)前进3步

l  forward:相当于浏览器的前进按钮

l  back():相当于浏览器的后退按钮

DOM

DOM,Document object Model,文档对象模型,我们可以把网页中所有的“东西”看成是“对象”

DOM是W3C制定的网页标准或准则,而这个标准,在浏览器中以对象的形式得以实现。

DOM的官方定义:DOM可以使用脚本,动态的访问或操作,网页的内容、网页外观、网页结构。

DOM的分类

l  核心DOM:提供了同时操作HTML文档和XML文档的公共的属性和方法。

l  HTML DOM:针对HTML文档提供的专用的属性方法。

l  XML DOM:针对XML文档提供的专用的属性和方法

l  CSS DOM:提供了操作CSS的属性和方法。

l  Event DOM:事件对象模型,如onclick、onload等。

HTML节点树、节点类型

注意事项:<table>标记与<tr>标记之间有一个<tbody>标记,因为在书写过程中可以忽略,所以我们一般不会写,但是它是存在的。

节点关系

l  根节点,一个html文档只有一个根,它就是HTML节点

l  子节点:某一父级节点的下级节点

l  父节点

l  兄弟节点

DOM中节点类型

l  document:文档节点,代表整个网页,不代表任何HTML标记,但他是html节点的父节点

l  element,元素节点,指任何HTML标记,每一个HTML标记都是一个元素节点,并具有相应的标记的属性。

l  attribute属性节点,指HTML标记属性

l  text节点,是节点树的最底层节点.

核心DOM中的公共属性和方法

提示:核心DOM中查找节点(标记),都是从根节点开始的(html节点)

核心DOM中htm的各个标记之间不能有空格或者换行,否则不识别。

1、节点访问

l  nodeName:节点名称

l  nodeValue:节点的值,只有文本节点才有值,元素节点没有值。nodeValue的值只能是“纯文本”,不能含有任何HTML或CSS属性。

l  firstChild:第一个子节点。

l  lastChild:最后一个子节点

l  childNodes:子节点列表,是一个数组。

l  parentNode:父节点。

查找<html>标记的方法

l  document.firstChild

l  document.documentElement

查找<body>的方法

l  document.firstChild.lastChild

l  document.body

 

为什么,document.body.firstChild找不到<table>节点?

核心DOM的属性和方法主要是针对HTML4.0开发的,

在firefox下,会把空格或者换行,当成文本节点

Html4.0是没有DTD类型定义的。

2、对节点的属性操作

l  setAttribute(name,value):给某个节点添加一个属性

l  getAttribute(name):获取某个节点属性的值

l  removeAttribute(name):删除某个节点的属性

必须先加载完body.

3、节点的创建

document.createElement(tagName):创建一个指定的html标记,创建一个节点

n  tagName:是指不带尖括号的HTML标记名称

n  举例:varimgObj=document.createElement(“img”);

parentNode.appendChild(elementObj):将创建的节点,追加到某个父节点下

n  parentNode:代表父节点,父节点必须存在。

n  childNode:代表子节点。

n  elementObj:是创建的一个子节点,必须是一个节点对象。而不能是一个节点名称。

n  举例:document.body.appendChild(imgObj);

parentNode.removeChild(childNode):删除子节点

n  parentNode:代表父节点

n  childNode:代表要删除的子节点

n  举例:document.body.removeChild(imgObj)

综合示例:随机显示小星星

/*    1.网页背景色

              2.创建图片节点,并追加到<body>父节点下

              3.图片随机大小

              4.图片的随机定位坐标(x,y)

              5.定时器,星星出现频率

              6.网页加载完成,图片开始显示

              7.星星显示的范围,跟窗口的宽高一样 (0,window.innerWidth)

              8.点击星星,星星消失。

       */

 

<!doctypehtml>

<htmllang="en">

 <head>

  <scripttype="text/javascript">

       //网页加载完成

       window.οnlοad=function(){

              //更改网页背景色

              document.body.bgColor="#000000";

              //延时器window.setTimeval("函数名","时间");意思是'时间'毫秒后执行函数'函数名',只执行一次

              //定时器,1秒小时一个星星

              window.setInterval("star()",1000);

       }

       //随机数函数

       function getRandom(min,max)

       {

              varrandom=Math.random()*(max-min)+min;

              //向下取整

              random=Math.floor(random);

              return random;

       }

       //动画的函数

       function star(){

              //创建图片节点

              varimgObj=document.createElement("img");

             

              //添加src属性

              imgObj.setAttribute("src","images/xing.jpg");

             

              //添加width属性,getrandom()随机数函数

              var width=getRandom(10,55);

              imgObj.setAttribute("width",width);

             

              //添加style属性(行内属性)

              //imgObj.setAttribute("style","border:1pxred solid");

              varx=getRandom(0,window.innerWidth);//document.documentElement.clientWidth              IE中

              vary=getRandom(0,window.innerHeight);//document.documentElement.clientHeight             IE中

              imgObj.setAttribute("style","position:absolute;left:"+x+"px;top:"+y+"px;");

              //添加onclick属性

              //this指针是系统内定的只能在函数中使用,代表当前对象

              imgObj.setAttribute("onclick","removeImg(this)");

 

              //将图片节点,挂载到父节点下

              document.body.appendChild(imgObj);

       }

       //删除节点函数

       function removeImg(obj)

       {

              document.body.removeChild(obj);

       }

  </script>

 </head>

 <body>

 </body>

</html>

HTML DOM简介和新特性

简介

核心DOM中,提供的属性和方法,已经可以操作网页了。为什么还要有HTMLDOM呢?如果在核心DOM中,网页节点层级很深时,访问这个节点将十分麻烦。

那么,HTMLDOM中就提供了通过id直接查找节点的方法,而不用再从HTML根节点开始。

HTMLDOM的新特性

l  每一个HTML标记都对应一个元素对象。如<img>对应一个图片对象

l  每一个html标记的属性,与对应的元素的对象的属性,一一对应。

HTMLDOM访问HTML元素的方法(最常用)

1.      getElementById()

l  功能:查找网页中指定id的元素对象。

l  语法:var obj=document.getElementById(id)

l  参数:id是指网页中标记的id属性的值

l  返回值:返回一个元素对象

l  举例:varimgObj=document.getElementById(“img01”);

2.      getElementsByTagName(tagName)

功能:查找指定的HTML标记,返回一个数组。

语法:var arrObj=parentNode.getElementsByTagName(tagName)

参数:tagName是要查找的标记名称,不带尖括号。

返回值:返回一个数组,如果只有一个节点,也返回一个数组。

举例:var arrObj=ulObj.getElementsByTagName(“li”)

元素对象的属性

tagName:标签名称,与核心DOM中的nodeName一样

className:CSS类的样式,

id:同html的id属性一样

title:同html的title属性一样

style:同html的style属性一样

innerHTML:包含html标记中的所有内容,包括html标记等

offsetWidth:元素对象的可见宽度,不带px单位,只有css加单位(包含滚动条)不能直接进行修改,相当于静态值,只能访问。自己实验

offsetHeight:元素对象可见高度。不带px单位(包含滚动条)不能直接进行修改,相当于静态值,只能访问。自己实验

scrollWidth:元素对象的总宽度,包括滚动条中的内容,不带px单位(不包含滚动条)

scrollHeight:元素对象的总高度,包括滚动条的内容,不带px单位(不包含滚动条)

scrollTop:指内容向上滚动了多少距离。(有滚动条时才有效)默认值为0;

scrollLeft:指滚动条向左滚动了多少距离。(有滚动条时才有效)

 

onscroll:当拖动滚动条时,调用JS函数。

综合案例:书讯快递

实现滚动效果

<!doctypehtml>

<htmllang="en">

 <head>

  <title>Document</title>

  <style type="text/css">

       body,ul,li{margin:0px;padding:0px;}

       body{font-size:12px;}

       ul,li{list-style:none;}

       #dome{width:180px;height:285px;border:1pxsolid black;margin:50px auto;

       padding:0px 10px;overflow:hidden;/*超出部分隐藏*/

       }

       #dome li{padding:5px 0px;   }

  </style>

  <scripttype="text/javascript">

       /*

              三个DIV的高度一样

              dome内嵌dome1和dome2,

              dome2中内容与dome1一致

              dome的scrollTop属性来实现滚动

              鼠标放上dome滚动,离开停止滚动

       */

       window.οnlοad=function()

       {     //获取id

              var dome =     document.getElementById("dome");

              var dome1      =     document.getElementById("dome1");

              var dome2      =     document.getElementById("dome2");

              //使三个div高度一致

              //这里的style属相,又是一个style对象,代表css对象

              //style对象的属性与css属性一样

              //这里的style属性代表行内样式,div没有行内样式,所以不能通过

              //dome1.style.height=dome.style.height;进行赋值

              //parseInt(Obj),取出Obj中第一位开始的整数。

              dome1.style.height=dome.offsetHeight+"px";//offsetHeight取出的值是不带px单位的,但是css要带px单位

              dome2.style.height=dome.offsetHeight+"px";

              //颜色只是为了区分

              //dome1.style.backgroundColor="#ff66ff";

              //dome2.style.backgroundColor="#ffcc00";

              //复制内容

              dome2.innerHTML=dome1.innerHTML;

              //实现滚动

              window.setInterval("start2(dome)",40);

       }

       function start2(dome)

       {     varlen=parseInt(dome1.style.height);

              if(dome.scrollTop==len)

              {     dome.scrollTop=0;        }

              /*if(dome.scrollTop==dome.offsetHeight)

              {

                     dome.scrollTop=0;

              }

              */else

              {

                     dome.scrollTop++;

              }

       }

  </script>

 </head>

 <body>

       <div id="dome" >

              <div id="dome1">

                            <ul>

                                   <li>田少腾</li>

                                   <li>田天乐</li>

                                   <li>军事练么</li>

                                   <li>王者荣耀</li>

                                   <li>穿越火线</li>

                                   <li>地下城</li>

                                   <li>白起</li>

                                   <li>诸葛亮</li>

                                   <li>王钊局</li>

                                   <li>李白</li>

                                   <li>项羽</li>

                            </ul>

              </div>

              <div id="dome2">         </div>

       </div>

 </body>

</html>

 

CSS DOM动态样式

使用JS操作css中的各属性。

JS只能操作或者修改行内样式(在标记中的style属性)。如:imgObj.style.border=”1pxsolid red”

对于类样式,通过className来赋值(意思就是,样式已经写好,给标记加一个类名就好),如:imgObj.className=”imgClass”

style对象

每个HTML标记都有一个style属性,但这个style属性又是一个style对象,那么,这个style对象的属性有哪些?style对象的属性,与CSS中的属性一一对应。因此,style对象用来代替CSS.

如:imgObj.style.border=”1pxsoild red”(行内样式)

style对象属性与CSS属性的转换

1.       如果是一个单词,style对象属性,与CSS属性一样

2.       如果是多个单词,第一个单词全小写,后面的每个单词首字母大写,并去掉中划线

a)        divObj.style.backgroundImage=”url(images/bg.gif)”

b)       idvObj.style.backgroundColor=”red”;

c)        divObj.style.fontSize=”18px”;

Event DOM

事件简介

事件主要实现“用户与网页之间的交互”。

当事件发生时,去执行JS代码。

l  当单击图片时(onclick),将图片放大两倍(JS代码)

l  当网页加载完成时,(onload),弹出一个小窗口。

l  当网页放到滚动文本时(onMoseOver),文本停止滚动。

l  当向下拖动滚动条时(onscroll),文本向上滚动

l  ....

常用事件

n  onload:当网页加载完成时,只能给<body>用

n  onclick:当点击时,所有标记都适用。

n  onscroll:当拖动滚动条时。

n  onmouseover:当鼠标放上时。

n  onmouseot:当鼠标移开时。

n  onsubmit:当提交表单时。

n  onreset:当重置表单时

n  onfocus:当获得焦点时,把光标定位到文本框中(主要用于表单验证)

n  onbblur:当失去焦点时,把光标从文本框中移开(主要用于表单验证)

n  onchange:当下拉列表内容改变时。用在下拉列表、上传文件时。

n  onselect:当选中文本时。

n  onresize:当改变窗口大小时,发生的事件。

n  ...

事件句柄属性

HTML标记,都有相应的事件属性。

每一个HTML标记,都对应一个元素对象。元素对象也具有相应发的事件属性。

但是,元素对象的事件属性应该是全小写

事件属性后面调用的一般是JS函数,通过函数实现相应的功能。

在js中添加事件属性。

JS中调用无参函数函数时,不需要加括号,直接写函数名(传地址)就OK

Event对象简介

当事件发生时,向调用函数,传递一个event参数,这个event参数是一个事件对象。该event对象中记录了当前事件发生时的环境信息。如单击时的坐标,事件的类型。

注意:这个event对象是短暂存在的,新的事件发生,原来event的就消失了。

DOM中event对象

DOM中引入Event对象(DOM浏览器就是标准浏览器,火狐,谷歌等)

1.        通过HTML标记的事件属性来传递event对象

在DOM中,event对象是作为事件调用函数时的参数,传递给函数的

该event参数,是系统固定的写法,全小写,不能加引号,它就是event对象参数。(event是系统规定参数是event对象)

 

2.        使用元素对象的事件属性来传递event对象

DOM中event对象属性

type:当前的事件类型。

clientX,clientY:距离窗口左边和上边的距离。

pageX,pageY:距离网页左边和上边的距离

screenX,screenY:距离显示器屏幕左边和上边的距离。·

当有滚动条时,网页顶边距离和窗口顶边距离就可能不同。

IE中的event对象

IE中的event对象,是window对象的一个属性,可以通过window对象调用,而不需要传参数,如:window.event.type

 

IE中event对象属性

type:事件的类型

clientX和clientY:距离窗口左边和上边的距离

x和y:距离网页左边和上边的距离

screenX和screenY:距离屏幕左边和上边的距离。

写法二:

实例:点出漫天小星星

<!doctype html>

<htmlοnclick="init(event)">

 <head>

 <title>Document</title>

 

  <link href=".css" rel="stylesheet"type="text/css"/>

 

 <style type="text/css">

 </style>

 <script type="text/javascript">

       //点出漫天小星星

       /*当onclick事件发生时(点击的是html标记),去显示一个小星星*/

       functioninit(e)

       {

             

              //创建图片

              varimgObj=document.createElement("img");

              //追加到<body>节点下

              document.body.appendChild(imgObj);

              //添加属性

              imgObj.src="images/xingxing.png";

              //增加宽属性

              imgObj.width=getRandom(15,85);

              //增加style属性

              imgObj.style.position="absolute";

              varx=e.clientX?e.clientX:event.clientX;

              vary=e.clientY?e.clientY:event.clientY;

              imgObj.style.left=x-imgObj.width/2+"px";

              imgObj.style.top=y-imgObj.height/2+"px";

              //imgObj.setAttribute("onclick","removeimg(this)");

              //alert(e.clientX+","+e.clientY);

       }

       /*functionremoveimg(obj)

       {

              document.body.removeChild(obj);

       }*/

       functiongetRandom(min,max)

       {

              varrandom     = Math.random()*(max-min)+min;

              returnMath.floor(random);

       }

 </script>

 </head>

 <body   bgcolor="#000">

      

 </body>

</html>

综合实例:隐藏效果

HTML主要代码:Shoping.html

示例2:<styletype="text/css">

       .menu{background-color:red;height:50px;}

       .main{height:200px;background-color:blue;}

 </style>

 <script type="text/javascript">

       functionhidden1()

       {

              vardivObj=document.getElementById("main");

              if(divObj.style.display=="block"){ divObj.style.display="none";}

              else{       divObj.style.display="block";}

       }

 </script>

 </head>

 <body>

       <div class="menu"id="menu"οnclick="hidden1()"></div>

       <div class="main" id="main"style="display:block">

       </div>

 </body>

综合示例:选项卡效果

Html文件index.html

Js文件代码index.js

综合案例:购物车

1、鼠标放到行上改变背景色,鼠标移出后恢复背景色

<script language=”javascript” src=”js/shopping.js”></script>

<tr class=”shopping_product_list”οnmοuseοver=”productOver(this)” οnmοuseοut=”productOut(this)”>

Js代码

function productOver(trObj)

{

       //trObj.bgColor="red";

       trObj.style.backgroundColor="red";

 

}

function productOut(trObj)

{

       //trObj.bgColor="white";

       trObj.style.backgroundColor="white";

}

2、删除产品(删除表格行)

//删除行

function deleteProduct(id)

{     //是否要删除?

       if(window.confirm("你真的不考虑了吗?"))

       {

              vartrObj=document.getElementById(id);

              //删除节点

              trObj.parentNode.removeChild(trObj);

              //node_tbody=trObj.parentNode;//分两步完成

              //node_tbody.removeChild(trObj);

       }

}

3、购物车计算

商品统计何时进行?

l  网页加载完成,进行商品统计window.οnlοad=productCount.

l  商品删除时,进行商品统计function  deleteProduct(){

...

productCount();//执行完 商品删除函数后,调用统计函数。

}

l  当修改数量时,进行商品统计

Input标记中加入<input οnblur=”productCount()”>事件//当失去焦点时,即光标离开input时

functionproductCount()

{

       var total=0;            //总金额

       var jiesheng=0;              //总结省

       var jifen=0;            //总积分

       //获取id=shoplist的表格对象

       vartableObj=document.getElementById("shopList");

       //找到表格中所有的行

       var arr_tr=tableObj.rows;

       //循环每一行,取出行中不同单元格的值

       for(var i=0;i<arr_tr.length;i++)

       {

              //取出每一行的所有单元格

              var arr_td=arr_tr[i].cells;

              //市场价¥32.00->32.00->32

              varprice1=parseFloat(arr_td[2].innerHTML.substr(1));

              //当当价¥18.90(95折)->18.90(95折)->18.9

              varprice2=parseFloat(arr_td[3].innerHTML.substr(1));

              //数量由字符串转换成数值型,

              //积分

              varjifenObj=parseInt(arr_td[1].innerHTML);

              varcount=parseInt(arr_td[4].firstChild.value);

              //*****************************

              //总金额当当价*数量

              total+=price2*count;

              jiesheng+=(price1-price2)*count;

              jifen+=jifenObj*count;

       }

        //将总金额、总积分、总结省写到相应位置

        document.getElementById("total").innerHTML="&yen"+total.toFixed(2);

        //数值对象的方法,转化成了字符串,并保留两位小数

        document.getElementById("jiesheng").innerHTML="&yen"+jiesheng.toFixed(2);

        document.getElementById("jifen").innerHTML="&yen"+jifen;

}

表格对象的属性

一个<table>标记,对应一个table对象

rows:获取一个表格所有的行构成的数组

cells:获取一个行中所有单元格构成的数组。

表单对象

form对象

一个<form>标记,就是一个<form>对象

form对象的属性

l  name:表单的名称,主要用来让JS控制表单

l  action:表单的数据的处理程序(PHP文件)。不指定action,默认提交给自己

l  method:表单的提交方式,取值:GET、POST。

l  enctype:表单数据的编码方式。

form对象的方法

l  submit():提交表单,与<input type=”submit”/>功能一样

l  reset():重置表单,与重置按钮功能一样。

form对象的事件

l  onsubmit:当单击提交按钮时发生,并数据发往服务器之前发生。主要用来“在表单提交之前进行表单验证”。

l  onreset:当单击重置按钮时发生(了解)

获取表单中元素的方式

l  通过网页元素的id来获取对象。Document.getElementById(id)

l  通过HTML标签来获取对象,parentNode.getElementsByTagName(tagName)

l  通过name属性来获取表单元素的对象,表单中所有的元素起点都必须是document对象

n  语法:document.formObj.elementObj

n  访问方式是三层结构:其中,formObj代表表单对象,elementObj代表表单元素对象

n  举例:document.form1.username.value.length

u  说明,form1是表单name=form1的表单

u  username,是指表单中name=username的元素

u  value是指该元素的值,字符串

u  length指该元素值的长度

事件返回值

事件的返回值,会影响对象的默认动作。如<a>标记的默认动作是打开一个网址。

如果事件返回false,则阻止默认动作的执行,如果事件返回true或者空,则默认动作继续执行。

<ahref="http://www.armfly.com" οnclick="returnfalse">stm32</a>

必须加return关键字,如果是函数οnclick=”returnfunctionName()”,函数前加return.

受返回值影响的事件有两个:onclickonsubmit.

提交和验证方法总结

1、使用submit按钮,结合onsubmit事件来实现(最常用)

 

2、submit按钮,结合onclick事件,实现表单的验证和提交

 

3、button按钮,结合submit()方法,实现表单验证提交

<script type="text/javascript">

       functioncheckForm()

       {//判断用户名是否为空

              if(document.form1.username.value.length==0)

              {

                     window.alert("用户名不能为空!");

              }

              elseif(document.form1.username.value.length<5||document.form1.username.value.length>20)

              {

                     window.alert("用户名只能介于5~20之间!");

      

              }

              elseif(checkOtherChar(document.form1.username.value))

              {

                     window.alert("用户名中不能出现特殊符号!");

              }

              else

              {

                     window.alert("验证通过!");

                     document.form1.submit();

              }

       }

       function checkOtherChar(str)

       {      //定义一个数组

              var i;

              vararr=["*","&","<",">","$","\\","/"];

              for( i=0;i<arr.length;i++)

              {     

                     if(str.indexOf(arr[i])!=-1)

                     {

                            return true;

                     }

              }

              if(i==arr.length)

              {

                     return false;

              }

       }

 </script>

 </head>

 <body>

       <formname="form1"method="post"action="login.php">

              用户名:<input type="text"name="username"/>

              密   码:<inputtype="password" name="userpwd"/>

              <inputtype="button" value="提交表单" οnclick="checkForm()"/>

       </form>

 </body>

 

                                                                                                        

input对象

一个<input>标记,就是一个input对象。

input对象的属性(以type=text为例)

l  name:表单元素的名称

l  value:表单元素的值,用户输入的内容,可以通过该属性来获取

l  size:表单的长度

l  maxlength:表单元素的最大长度(最多可输入的字符数)

l  disabled:禁用属性

l  readonly:只读属性

input对象的方法

l  focus():获得焦点的方法(定位光标)

Document.form1.username.focus();

l  blur():失去焦点的方法(移走光标)

l  select():选中文本的方法。

input对象的事件

l  onfocus:当获得焦点时。

l  onblur:当失去焦点时。

 

实例:

select对象

select对象属性

l  option[]:设置或返回下拉列表中<option>标记构成的数组

l  selectedIndex:设置或选中指定的<option>的索引值

selectedIndexdocument.form.site的当前选择项的索引值,从0开始从上往下依次递增,没选中是-1

简单的说你可以将列表框理解为一个数组,selectedIndex就是这个数组的索引值,它对应的就是列表中该位置显示的项

l  length:指定下拉列表中<option>标记的个数

l  name:元素名称

option对象属性

l  text:指<option>和</option>之间的文本

l  value:是指<option>标记的属性

 

综合示例:二级联动菜单

(1)二级菜单初始化

a)        当网页加载完成,将arr_province中的数据写入到name=province下拉列表中

b)       name=city下拉列表,要根据name=province列表的默认选择(selectedIndex)而改变

(2)根据name=province的选择,来改变name=city中的内容

a)        当改变时,获取选择中的省份的索引值

b)       城市列表,会根据传递过来的索引值,请求对应的二维数组中的数据,并写入city中。

 <scripttype="text/javascript">

    vararr_province=["请选择省/市","北京","上海","天津"];

    vararr_city=[

           ["请选择城市/地区"],

           ["东城区","西城区","朝阳区","昌平区"],

           ["宝山区","长宁区","奉贤区","虹口区"],

           ["合拼去","河西区","南开区","河北区"]

    ];

//网页加载完成,初始化

window.οnlοad=init;

function init()

{

    //获取对象

    varprovince=document.form1.province;

    var city=document.form1.city;

    //必须先指定省份下拉列表的长度

    province.length=arr_province.length;

    //循环将省份写入

    for(var i=0;i<arr_province.length;i++)

    {

      

       province.options[i].text=arr_province[i];

       province.options[i].value=arr_province[i];

      

    }

    varindex=0;

    province.selectedIndex=index;

    city.length=arr_city[index].length;

    for(varj=0;j<arr_city[index].length;j++)

    {

       city.options[j].text=arr_city[index][j];

       city.options[j].value=arr_city[index][j];

    }

}

function changeSelect(index)

{

    var city=document.form1.city;//获取对象

    city.length=arr_city[index].length;//给长度

    for(varj=0;j<arr_city[index].length;j++)//写入城区

    {

       city.options[j].text=arr_city[index][j];

       city.options[j].value=arr_city[index][j];

    }

}

 </script>

 </head>

 <body>

<form name="form1"method="post"action="login.php">

    省份:<select name="province" οnchange="changeSelect(this.selectedIndex)"></select>

    城市:<selectname="city"></select>

</form>

 

HTML5简介

Html5是新一代的HTML

HTML5目前主要应用在手机端,在PC端最新浏览器已经开始支持了,但还不全面。

HTML5是由W3C和WHATWG合作的结果。

W3C是万维网联盟,主要制作各种互联网标准的国际组织。如:xhtml、css、JavaScript、xml、AJAX等。主要想发展xhtml2.0

WHATWG应用程序工作组,是由firefox、chrome、苹果、safari、IE等浏览器公司成立的一个机构。主要面向应用程序的完善和开发。如:在HTML5中使用<video>标记,直接可以播放视频。

<input type=”email”name=”email”/>邮箱验证

<input type=”color”name=”color”/>

<input type=”date”name=”date”/>

Html5支持度测试

http://chrome.360.cn/test/html5/index.html

浏览器市场份额统计

http://tongji.baidu.com/data/browser

文档类型定义

Xhtml1.0中的文档类型定义有三种:过渡性、严格型、框架性

Html5中的文档类型定义:<!DOCTYPE html>

就连IE6最不兼容的浏览器,也支持这个类型定义

网页字符集设置

<meta charset=”utf-8”>

页面结构标记

<header></header>文件头

<nav></nav>菜单栏

<footer></footer>页脚

文章相关标记

l  <article></article>:代表一篇文章

l  <aside></aside>:侧边栏

l  <section></section>:区块,主要用于排版网页,功能与<div>一样

l  <details></details>:一个标题的简介

l  <summary></summary>:标题的内容与<details>配合使用

其他标记

l  <mark>:重点标注

l  <progress>:进度条

n  max:最大值

n  value:当前值

 

<progress id="pro"style="width:500px"max="100"value="0"></progress>

       </section>

       <aside>

       </aside>

       <footer>背景传智博客 版权所有</footer>

    </div>

 </body>

  <scripttype="text/javascript">

    varpro=document.getElementById("pro");

    var i=0;

    vartimer=window.setInterval("start2()",100);

    functionstart2()

    {

       pro.value=i;

       i++;

       if(i==pro.max)

       {i=0;

           //window.clearInterval(timer);

       }

    }

 </script>

音频标记<audio>属性

l  语法格式:<auto>对不起,你的浏览器不支持auto元素。</auto>

l  常用属性:

n  Controls:是否显示控制面板

n  Autoplay:是否自动开始

n  Src:播放文件路径。支持的文件格式:MP3、ogg、wav

n  Loop:是否循环。

<audiocontrols="controls"autoplay="autoplay"src="images/ggh.mp3">对不起,你的浏览器不支持该元素</audio>

视频标记<video>属性

l  语法格式:<video>对不起,你的浏览器不支持video!</video>

l  常用属性:取值本身

n  Controls:是否显示控制面板

n  Autoplay:是否自动开始

n  Src:视频路径。支持的格式:ogg、MP4

n  Loop:是否循环

n  Width:宽度

n  Height:高度

n  Poster:第一帧的画面。默认是视频的第一帧。

<videosrc="images/lxb.mp4"autoplay="autoplay"controls="controls"loop="loop"width="400"height="300"poster="images/1.jpg">你的浏览器不支持该元素</video>

表单中新增的属性

l  Autocomplete:自动完成,取值on、off

l  Autofocus:自动获得焦点,取值本身

表单input元素type属性的值

Email:邮箱验证

Tel:电话验证

Url:网址验证

Color:颜色拾色器

Date:日历

Month:选择月份

Time:时间

Datetime:日期时间

       <formname="form1" method="post"action="login.php">

                     用户名:<inputtype="text"name="username"autofocus="autofocus"/autocomplete="off"><br>

                     密码:<inputtype="password" name="userpwd"><br>

                     电话:<input type="tel"name="tel"/><br>

                     邮箱:<input type="email"name="email"/><br>

                     网址:<input type="url"name="url"/><br>

                     选择颜色:<inputtype="color" name="color"/><br>

                     日历:<input type="date"name="date"/><br>

                            <inputtype="submit" value="提交表单">

                     </form>

 


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值