定时器

1.定时器:设定时间,在指定的时间之后执行函数或者是程序

  a.反复性定时器:var dingshiqi=Window.setInterval(“函数名()”,时间n[毫秒值]);在每隔定的时间n就会执行一次函数,反复执行

  b.一次性定时器:var dingshiqi=window.setTimeout(“函数名()”,时间n[毫秒值]);在指定的时间n毫秒之后执行一次函数,执行以后不在执行

2.清除定时器:让定时器不再执行

  a.清除反复性定时器:Window.clearInterval(dingshiqi);

  b.清除一次性定时器:window.clearTimeout(dingshiqi);

案例:



星星案例

星星案例修改



案例分享

图片的切换:轮播图经典案例。







DOM树

Document Object Model:文档对象模型

  • D:documnet,文档,html文档或者xml文档
  • O:object,对象,在转成树模型的时候,得到的对象,它有相应的属性和方法,利用他们可以完成任何操作。
  • M:model,模型,树模型,有节点构成的一颗树。节点(元素、属性和文本)转成对象。

    DOM的分类
  • 核心DOM:提供了操作HTML文档(显示)或XML文档(存储数据)的公共的属性和方法。
  • HTMLDOM:针对HTML文档,提供的专有的属性和方法。
  • XMLDOM:针对XML文档,提供的专有的属性和方法。
  • EventDOM:事件DOM,提供了很多的常用事件。
  • CSSDOM:提供了操作CSS的一个接口。

    HTML节点树:

DOM中节点的类型:

  • document文档节点:代表整个网页,document文档节点不对应标记。是访问文档中各元素的起点。
  • element元素节点:元素节点对应于网页中的各标记。
  • attribute属性节点:每个元素都有若干个属性。
  • text文本节点:文本节点是最底层节点。

    核心DOM公共属性和方法
  • nodeName:节点名称。
  • nodeValue:节点的值。
  • firstChild:第一个子节点。
  • lastChild:最后一个子节点。
  • parentNode:父节点。
  • childNodes:子节点列表,是一个数组。

    查找html节点的方法
  • document.firstChild
  • document.documentElement(兼容性较好)

    查找body节点的方法
  • document.firstChild.lastChild
  • document.body(推荐使用)

在核心DOM中,已经可以实现对网页元素的操作了,为什么还要有HTMLDOM呢?

因为,核心DOM中,对节点的访问,都是从根节点开始的,访问方式十分麻烦。特别是当节点层次很深时,更是麻烦。因此,才有了HTMLDOM。

1、HTMLDOM的新特性

  • 每一个HTML标记,都对应一个对象。如:标记,就是一个img对象。
  • 每一个HTML标记的属性,与对应的元素对象的属性,一一对应。

         - img属性:src、width、height、border、style、title、id、class等。

         - 在JS中,img对象属性:src、width、height、border、style、title、id、className等。

HTML DOM访问HTML元素的方法

1、根据元素的id查找对象——document.getElementById(id)

2、根据HTML标签名找对象

  • 描述:根据HTML标签名找对象
  • 语法:var arr = parentNode.getElementsByTagName(tagName)
  • 参数:tagName就是要查找的标签名称,不能带尖括号。parentNode代表上层节点。
  • 返回值:返回一个对象数组。
  • 举例:ulObj.getElementsByTagName(“li”)



元素对象

offsetWidth:指元素的可见宽度,不含滚动条中的内容。只读属性。不带px单位。

offsetHeight:指元素的可见高度,不含滚动条中的内容。只读属性。不带px单位。

scrollWidth:指元素的总宽度,包含滚动条中的内容。只读属性。不带px单位。

scrollHeight:指元素的总高度,包含滚动条中的内容。只读属性。不带px单位。

scrollTop:当元素出现滚动条时,向下拖动滚动条,内容向上滚动的距离。可读可写属性。不带px单位。如果该元素没有滚动条,则scrollTop的值为0,该值只能是正值。

scrollLeft:与scrollTop描述一样,只是向左滚动的距离。

书序案例

书讯快递







JavaScript零基础学习系列五的更多相关文章

  1. JavaScript零基础学习系列四

    案例分享 对象 具体的东西,在以js的眼光看所有的标签都是标签对象,对象是属性的无序集合. 创建对象有两种方式: 直接量: 构造器:所谓的构造器,其实就是函数,只不过这个函数有些特殊,因为它是用于创建 ...

  2. JavaScript零基础学习系列一

    JavaScript Js分成三大块: ECMAScript:语言本身,是标准,js是它的一个具体实现 BOM:浏览器对象模型 DOM:文档对象模型 ECMAScript有三种具体实现: JavaSc ...

  3. JavaScript零基础学习系列三

    函数 函数:为了完成某个功能而定义的代码的集体.函数是数据类型,只读的对象:函数也是对象:代码的重用.(JavaScript中) 定义语法:function 函数名(形式参数1,形式参数2--){ / ...

  4. JavaScript零基础学习系列二

    条件控制 if(条件){//语句块}如果条件(小括号里面的)满足true.那么才会执行大括号里面的代码,如果条件不满足(false),那么不执行,注意:有可能代码不会执行. 例如: if(3>1 ...

  5. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  6. salesforce lightning零基础学习(十五) 公用组件之 获取表字段的Picklist(多语言)

    此篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) 我们在lightning中在前台会经常碰到获取pi ...

  7. Python零基础学习系列之二--Python介绍及环境搭建

    1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...

  8. Community Cloud零基础学习(五)Topic(主题)管理

    我们以前讲过 Service Cloud 零基础(三)Knowledge浅谈,我们日常可以看见很多得文章或者帖子,我们可以将其通过data category / group进行管理.但是一个系统中得文 ...

  9. Python零基础学习系列之三--Python编辑器选择

    上一篇文章记录了怎么安装Python环境,同时也成功的在电脑上安装好了Python环境,可以正式开始自己的编程之旅了.但是现在又有头疼的事情,该用什么来写Python程序呢,该用什么来执行Python ...

随机推荐

  1. JDBC_part3_批处理_事务_元数据

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! JDBC_day03 String a = " ...

  2. [moka同学笔记]PHPexcel之excel导出和导入

    原案例来自http://www.sucaihuo.com/有修改 1.目录结构(文件不用解释,应该都可以看得懂,直接看代码)

  3. Java NIO概述

    Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然 Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Se ...

  4. 遍历map的四种方法

    方法一  在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用.注意:for-each循环在Java 5中被引入所以该方法只能应用于j ...

  5. AJAX表单提交以及数据接收

    ajax是一种传输方式,数据不是提交给ajax,而是 数据 由 ajax提交到后台(并不刷新页面) 要实现一个简单的ajax请求,要这3样东西,一个html页,一段js代码,一个可以响应请求的后台 这 ...

  6. 写给自己:修改配置文件一定要cp一个.bak

    写给自己:修改配置文件一定要cp一个.bak 毕竟不是每次的修改都一定对,而且很多时候是在服务器上直接修改原文件,修改后重启服务才知道是否修改正确,如果不加备份修改,造成服务器动荡,将会造成不可挽回的 ...

  7. Android Weekly Notes Issue #232

    Android Weekly Issue #232 November 20th, 2016 Android Weekly Issue #232 本期内容包括: Kotlin的优势讨论; MVVM模式结 ...

  8. [转]ASP.NET应用程序生命周期趣谈(一)

    这几天一直在看ASP.NET应用程序生命周期,真是太难了,我理解起来费了劲了,但偏偏它又是那么重要,所以我希望能给大家带来一篇容易理解又好用的文章来帮助学习ASP.NET应用程序生命周期.这篇就是了. ...

  9. 关于 Xcode8打印JSON的时候,NSLog控制台显示不完整

    看到打印结果之后  为什么只打印了一部分???为什么呢??? 我也不知道为什么,可能是xcode8的原因. 借鉴了下国外人说了,printf可以打印全,自己写了个输出宏 #ifdef DEBUG #d ...

  10. C#设计模式:原型模式(Prototype)及深拷贝、浅拷贝

    原型模式(Prototype) 定义: 原型模式:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象.被复制的实例被称为原型,这个原型是可定制的. Prototype Pattern也是一 ...