首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

javascript基础2JavaScript DOM编程

2013-02-24 
javascript基础二JavaScript DOM编程javascript基础二JavaScript DOM编程RSS订阅显示大图:今天讲解的内容

javascript基础二JavaScript DOM编程
javascript基础二JavaScript DOM编程

RSS订阅显示大图:

今天讲解的内容更多的是要求大家要细心。

好,我们接着来看下JS中的字符串

substr(startIndex,len)//从startIndex开始,截取len个字符。

             javascript基础2JavaScript DOM编程          

一、substr

substring(startIndex,stopIndex)//从startIndex开始,截取到stopIndex位置(不包括stopIndex所在的字符)。

 javascript基础2JavaScript DOM编程

二、substring

toUpperCase()//转换大写、toLowerCase();//转换小写 这个就不用讲了

match()、replace()、search()方法,正则表达式相关(在JS Dom课程里讲)。

接下来我们看下JS当中数组的使用:

 javascript基础2JavaScript DOM编程

三、数组的基本写法

需要注意的是,JS中的大小写一定要写对。否则,浏览器报错。

本次出错是在arrVal,V没有大写。

 javascript基础2JavaScript DOM编程

四、数组推荐写法

当然JS中数组还有几种变态的写法,在这里列举一下,就不一一演示了。

new Array();

new Array(size);

new Array(element0, element0, ..., elementn);

var arr[‘China’,2008,true,’Hello’];(推荐。)

 

在js中也有类似于C#中foreach的循环

 javascript基础2JavaScript DOM编程

五、forin循环遍历的是数组的索引

forin主要是用来遍历键值对数组的,forin循环其实遍历的就是键值对中的键,普通数组也可以把索引看做是键,把元素内容看做是值。

现在我就想用forin循环遍历里面的内容,肿么办?

 javascript基础2JavaScript DOM编程

六、通过forin循环遍历值

 javascript基础2JavaScript DOM编程

七、forin循环可以遍历对象

 javascript基础2JavaScript DOM编程

八、打开浏览器的错误提示功能

 javascript基础2JavaScript DOM编程

九、快速纠错

下面我们一起做几个数组的案例题:

求一个整数组中的最大值。定义成函数。

想下,这个数组有没有参数?有参数。有没有返回值呢?返回值就是我们求的结果。

 javascript基础2JavaScript DOM编程

十、求数组中的最大值

 javascript基础2JavaScript DOM编程

十一、竖线划分问题

 javascript基础2JavaScript DOM编程

十二、竖线划分

 javascript基础2JavaScript DOM编程

十三、交换字符串中的元素

接下来我们看下js中的键值对集合

 javascript基础2JavaScript DOM编程

十四、js中的键值对输出

 javascript基础2JavaScript DOM编程

十五、取不到值的原因

for循环只记普通数组的个数。

 javascript基础2JavaScript DOM编程

十六、键值对数组通过forin来遍历输出

 javascript基础2JavaScript DOM编程

十七、键值对集合的简写方式

 javascript基础2JavaScript DOM编程

十八、在js里写键值对的注意事项

 javascript基础2JavaScript DOM编程

十九、Array的简化声明

 javascript基础2JavaScript DOM编程

二十、键值对的嵌套写法

 javascript基础2JavaScript DOM编程

二十一、键值对的嵌套写法二

接下来我们看下扩展方法

大家想想C#的扩展方法都是什么?

静态类,静态类中写几个静态方法,这些方法中必须有一个this数据类型。this后面跟什么数据类型,表示给哪个方法扩展的。

这里所有的扩展方法就是原型 → prototype

js本身并不是面向对象的,但是js也能实现继承,就是通过原型来实现的.

原型又是跟作用域链相关,就实现类似于继承的东西.我们这里只给大家说下原型是什么东西就可以了.

 javascript基础2JavaScript DOM编程

二十二、验证e-mail的方法

但是我现在有个问题,每次验证e-mail的时候,我自己都要写个方法,非常的不爽。我们希望这样,字符串天生就带一个方法验证是不是e-mail,如果是返回true,不是的话返回false。但是现在字符串没有这个方法,需要我添加这么一个方法。

字符串都属于string这个类型,给string添加一个方法:

 javascript基础2JavaScript DOM编程

二十三、给原型中添加方法

接下来我们就来看下JavaScript DOM编程

对于之前我们介绍的JS当中的高效的好用的语法,我们以后可以经常去用。对于其中不高效也不好用的部分,我们不用花太多的精力进行研究,甚至可以不知道。

  接下来我们就学习怎么应用JavaScript DOM来操作网页上的元素,什么是dom呢?一篇网页我们就可以把它看成是一个dom。把这个网页我们模拟成根节点,子节点,属性我们就叫做一个dom。就是模拟成一个对象来进行操作。

 javascript基础2JavaScript DOM编程

二十四、DOM模型

在介绍之前我们先说获取页面元素的问题:

 javascript基础2JavaScript DOM编程

二十五、整个页面就是一个window对象

 javascript基础2JavaScript DOM编程

二十六、实现点击按钮的时候,让文本框显示一个值

 javascript基础2JavaScript DOM编程

二十七、用document.getElementById实现对页面元素的控制

推荐:document.getElementById(‘元素的Id’);

为什么不让使用window.呢?接下来我们就看一下。

 javascript基础2JavaScript DOM编程

二十八、用window的时候这样是可以的

 javascript基础2JavaScript DOM编程

二十九、当加入一个表单的时候就报错了

 javascript基础2JavaScript DOM编程

三十、最终推荐的写法

接下来我们在看下dom中的绑定方法:

 javascript基础2JavaScript DOM编程

三十一、以后推荐使用动态注册事件

 javascript基础2JavaScript DOM编程

三十二、两种写法完全的不一样

 javascript基础2JavaScript DOM编程

三十三、两种写法的作用域不一样

下面我们介绍下window里面其它的常用方法:

 javascript基础2JavaScript DOM编程

三十四、window.confirm

写的时候window是可以省略的。

 javascript基础2JavaScript DOM编程

window.confirm演示

 javascript基础2JavaScript DOM编程

三十五、window.location.href

 javascript基础2JavaScript DOM编程

 

setInterval演示

 javascript基础2JavaScript DOM编程

三十六、setInterval代码

实现每隔1秒钟text里面自动加1.

累加之后点停就停止了。

 javascript基础2JavaScript DOM编程

三十七、自动增加秒数和停止的代码

 javascript基础2JavaScript DOM编程

自动增加秒数和停止的演示

下面我们做个标题栏走马灯:

javascript基础2JavaScript DOM编程

三十八、标题栏走马灯效果

 javascript基础2JavaScript DOM编程

标题栏走马灯效果演示

下面我们插入一个大家在用dom编程过程中经常遇到的问题

请看下面代码:

 javascript基础2JavaScript DOM编程

四十、设置对应的两个值

 javascript基础2JavaScript DOM编程

四十一、运行结果报错

代码是从上到下依次运行的,当程序运行到script后面的内容还没有,所以页面上没有叫btn1的。所以不能设置值。

解决办法1:

 javascript基础2JavaScript DOM编程

四十二、解决办法1

 javascript基础2JavaScript DOM编程

四十三、解决办法2

好,现在我们继续说下上面的跑马灯那个练习。

 javascript基础2JavaScript DOM编程

四十四、向左滚,向右滚代码

 javascript基础2JavaScript DOM编程

向左滚,向右滚演示

 javascript基础2JavaScript DOM编程

四十五、setTimeout的用法

 javascript基础2JavaScript DOM编程

四十六、动态注册事件

onunload(页面卸载后触发)

onbeforeunload(页面卸载前触发)如:在我们写日志的时候,关闭页面,就会有提示,您确定要关闭页面吗?

 javascript基础2JavaScript DOM编程

四十七、onbeforeunload代码

我们接下来说下window的属性

 javascript基础2JavaScript DOM编程

四十八、window.location属性

 javascript基础2JavaScript DOM编程

四十九、window.event

                    javascript基础2JavaScript DOM编程

鼠标移动的时候显示当前的坐标演示

我们在窗体上按下一个按钮的时候,点击层的时候直接点是一种效果,按下ctrl键又是一种效果.按下alt键又是一种效果.这样可以提高用户的体验效果.

 javascript基础2JavaScript DOM编程

五十、按下不同键执行不同效果的代码

 javascript基础2JavaScript DOM编程

按下不同键执行不同效果的演示

用到window.event在IE浏览器下支持,但这个不是标准。上面的代码在火狐下就不支持。因为火狐最标准。待会我们再去介绍不同浏览器怎么去写event对象。

 

// document.title = window.event.screenX + ',' + window.event.screenY + '' + this.id;

这是相对于屏幕的坐标。

 

还有个offsetX,offsetY,offset是偏移量的意思。下面我写一段代码,大家猜一下offsetX,offsetY是什么意思?

插一句,在我们用js编程的过程中,有的地方它不给你报错。所以,我们在纠错的时候,需要耐心。

 javascript基础2JavaScript DOM编程

五十一、相对于当前元素的坐标

 javascript基础2JavaScript DOM编程

相对于当前元素的坐标演示

下面我再说下returnValue

 javascript基础2JavaScript DOM编程

五十二、returnValue

在火狐下FireFox preventDefault();取消事件的默认动作。

直接写return false也可以。

 

最初触发事件源的对象srcElement:

 javascript基础2JavaScript DOM编程

五十三、srcElement.value

button,发生事件时鼠标按键,1为左键,2为右键,4为中滑轮。

 javascript基础2JavaScript DOM编程

五十四、button

 javascript基础2JavaScript DOM编程

button演示

接下来我们介绍下screen对象;获取屏幕的信息:

当用户的电脑分辨率太低的时候,我们要用js检测一下用户的电脑的分辨率是多少。如果低于1024*768提示一下用户。

 javascript基础2JavaScript DOM编程

检测用户的分辨率演示

 javascript基础2JavaScript DOM编程

五十五、检测用户电脑的分辨率的代码

 javascript基础2JavaScript DOM编程

五十六、复制网址的值,读取网址的值

 javascript基础2JavaScript DOM编程

复制网址的值,读取网址的值演示

clearData(“Text”)清空粘贴板。

接下来再给大家说几个事件。

比如有些网站,不让大家复制。

看下我下面的复制过程,

 javascript基础2JavaScript DOM编程

五十七、复制过程一

打开个高级记事本,复制-粘贴。然后ctrl+B(快速浏览)。

要是复制html带很多的html标签,不想要html标签,直接粘文字就可以了。

所以,不要迷恋哥,哥只是传说!

接下来咱们就看一下,这种网站是怎么不让我们复制的,为什么通过上面的方法就能复制了。

不想让别人复制的话,就用到JS当中的几个事件。

 javascript基础2JavaScript DOM编程

五十八、禁止复制代码

当这种方式实现的时候,用户禁用脚本就能复制了,所以,像百度文库用flash实现的。

 javascript基础2JavaScript DOM编程

五十九、禁止粘贴的代码

 javascript基础2JavaScript DOM编程

禁止复制,禁止粘贴演示

让大家复制,最后加个文章的出处。

 javascript基础2JavaScript DOM编程

六十、允许用户复制,但是需要在最后加一个出处代码

history操作历史记录。

window.history.back()后退;window.history.forward()前进。

window.history.go(-1)后退一步;window.history.go(1)前进一步。

 javascript基础2JavaScript DOM编程

允许用户复制,但是需要在最后加一个出处演示

接下来我们说下document属性:

document属性是window对象中最复杂的属性。

 javascript基础2JavaScript DOM编程

六十一、直接写write和writeln

 javascript基础2JavaScript DOM编程

六十二、直接写write和writeln效果

 javascript基础2JavaScript DOM编程

六十三、写在onload里面的代码

 javascript基础2JavaScript DOM编程

六十四、写在onload里面的效果

 javascript基础2JavaScript DOM编程

六十五、write和writeln的区别

 javascript基础2JavaScript DOM编程

六十六、用document.write()动态创建元素会遇到一些个问题

那么,在什么时候会用到document.write()和document.writeln()呢?

在嵌入外部的小模块的时候会用到,假如自己做了个网页。

 javascript基础2JavaScript DOM编程

六十七、嵌入外部小模块

http://news.baidu.com/newscode.html网址为:在百度找到新闻的代码的网址。

 javascript基础2JavaScript DOM编程

六十八、看下外部js文件是什么

 javascript基础2JavaScript DOM编程

 

六十九、打开js文件

 javascript基础2JavaScript DOM编程

七十、document.write动态生成div

那么为什么要这么去实现呢?为什么不直接给我们个div代码呢?如果是div代码,网页上肯定会显示这段新闻。第二天百度想变一变,变了之后,我们还要重新拿一段代码复制到这里。如果是引入外部js的话,百度只要一概js对应document.write动态生成的div,所有的用户就都改了。非常的灵活而且非常的方便。

看起来不起眼的东西,作用还是非常的大的。

接下来我们就说下访问页面上元素的其它方式:

 javascript基础2JavaScript DOM编程

七十一、获取根节点下每个节点的js写法

但是这样做太麻烦,浏览器为我们封装了三个方法。

javascript基础2JavaScript DOM编程

七十三、案例代码

插入案例代码位置:

javascript基础2JavaScript DOM编程

七十四、案例1演示

课后练习:

案例:十秒钟后协议文本框下的注册按钮才能点击,时钟倒数。(btn.disabled = “” ,让元素可用。disabled=disabled,为不可用)disabled=true;(用到计时器控件)

 

练习:加法计算器。两个文本框中输入数字,点击【=】按钮将相加的结果放到第三个文本框中。

 javascript基础2JavaScript DOM编程

七十五、练习图解

练习:美女时钟。

 javascript基础2JavaScript DOM编程

七十六、这么获取时分秒

 

回到起始位置作者近期文章列表:C#中级进阶教程(完全免费,献给代码爱好者的最好礼物。注:本作者分享自己精心整理的C#中级进阶教程,无任何商业目的。希望与更多的代码爱好者交流心得,也请高手多多指点!!!)ASP.net项目图书商城项目总论ASP.net系列ASP.NET(get和post比较)asp.net-(含:模拟登陆,照片列表)ASP .net(照片列表详细功能CRUD演示)三层及其它内容递归三层(一)三层相关案例(及常见的错误)三层实例(内涵Sql CRUD)手写代码生成器SQL数据库 ADO.net数据库的应用图解一数据库的应用详解二ADO.NET(内涵效率问题)ADO.NET实例教学一ADO.NET实例教学二数据库的应用详解三ADO.NET(内含存储过程讲解)面向过程,面向对象中高级面向过程,面向对象的深入理解一面向过程,面向对象的深入理解二面向对象的深入理解三正则表达式无处不在的XMLwinform基础Winform基础winform中常用的控件面向过程三种循环的比较C#中的方法(上)我们常见的数组面向对象思想的转变C#中超级好用的类C#中析构函数和命名空间的妙用C#中超级好用的字符串C#中如何快速处理字符串值类型和引用类型及其它ArrayList和HashTable妙用一ArrayList和HashTable妙用二文件管理File类多态C#中其它一些问题的小节GDI+这些年我收集的GDI+代码这些年我收集的GDI+代码2HTML概述以及CSS你不能忽视的HTML语言你不能忽视的HTML语言2精编篇你不能忽视的HTML语言3html-综合篇CSS基本相关内容--中秋特别奉献CSS基本相关内容2JavaScript基础JavaScript基础一javascript基础二JavaScript DOM编程jQueryjQuery(内涵: jquery选择器)jquery实例教学一

热点排行