文档章节

js的DOM编程艺术笔记(三)

哎那个新来的
 哎那个新来的
发布于 2017/03/09 17:41
字数 557
阅读 2
收藏 0

1.JS实现动画效果:【动画就是让元素的位置随着时间不断的发生变化】

2.使用js编写动画效果:使用到setTimeout()方法来使得元素进行方向的移动

【核心:1.setTimeout()方法; 2.编码图片的来回闪动,确保只有一个setTimeout()函数,使用元素的属性作【eleNode.moveFlag:自定义属性】为变量接受 setTimeout的返回值,t同时使用clearTimeout来删除其他的setTimeout();3.函数的封装】

//移动函数
function  doMove(eleId, final_x, final_y ,interval){
 var eleNode = document.getElementById(eleId);
 var px = parseInt(eleNode.style.left);
 var py = parseInt(eleNode.style.top);
 if(eleNode.moveFlag){
     clearTimeout(eleNode.moveFlag);
 }
 if(px<final_x){
     px++;
 }
 if(px>final_x){
     px--;
 }
 if(py<final_y){
     py++;
 }
 if(py>final_y){
     py--;
 }
 eleNode.style.left = px+"px";
 eleNode.style.top = py+"px";
 
 var repeat = "doMove('"+eleId+"',"+final_x+","+final_y+","+interval+")";
eleNode.moveFlag = setTimeout(repeat, interval); //递归执行domove()函数

}

3:【待解决问题】在window.onload = function(){
    var lis = document.getElementsByTagName("li");
    for(var i = 0; i<lis.length;i++){
        lis[i].onclick = function(){
            this.style.fontWeight = "bold";//this和lis[i]的区分【js的闭包问题??】
        }
    }
}

 

4.js的DOM编程艺术的总结:

1.在DOM中节点就是对象

2.元素节点;文本节点;属性节点三者的关系【见笔记一中的图】

3.有些方法或者属性是针对不同的节点的【使用过程中注意】

4.每一个节点都有 nodeName, nodeType, nodeValue 这三个基本的属性

5.遍历节点: childNodes属性 : 找到给定元素节点的所有元素节点和文本节点【其中空格换行也被当作文本节点; children属性只返回所有的元素节点】;firstChild :第一个子节点 ; lastChild :最后一个子节点 ; nextSibling:给定元素的下一个节点【给定元素必须要和钙元素有共同的父节点,否则返回null】; parentNode : 返回父节点【parentNode只能返回一个元素节点,因为只有元素节点才会有子节点】;

previousSibling:返回给定元素的上一个元素【如果给定元素的前面没有同一个父节点的节点,则会返回null】

6.js写一个 一直返回的是元素节点的函数

function getEleNode(eleId){
 var parentNode = document.getElementById(eleId);
 var aryNode = parentNode.childNodes;
 var aryEle = new Array();
 var j =0;
 for(var i=0;i<aryNode.length; i++){
  if(aryNode[i].nodeType == 1){
    aryEle[j] = aryNode[i];
    j++;
  }
 }
 return  aryEle;
}

© 著作权归作者所有

共有 人打赏支持
哎那个新来的
粉丝 1
博文 92
码字总数 29196
作品 0
闸北
程序员
私信 提问
如何学习Javascript?你是入门,还是精通?

首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门。   谈不上经验,都是一些教训。   这个时候有人要说,“靠,你丫半桶水,凭啥教我们”。您先别急着骂,先听我说。...

coffeescript
2014/07/23
389
0
第一章--JavaScript简介

1. JavaScript的构成 1.1. ECMAScript ECMAScript规定了核心语言的组成部分分别为:语法、类型、语句、关键字、保留字、操作符、对象。 宿主环境:Web浏览器、Node、Adobe Flash。 1.2. DOM...

lovewt
06/05
0
0
DOM对象和js对象以及jQuery对象的区别

DOM对象和js对象以及jQuery对象的区别 一、DOM对象 文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口。 DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修...

奋斗的雲
09/17
0
0
《高性能javascript》 笔记

第一部分:关于script 当把js脚本通过script标签放在head中的时候,早期浏览器在遇到script的时候会阻止浏览器加载和渲染html。知道javascript脚本被下载并执行完,且这些javascript是依次下载和...

modernizr
2014/04/03
467
1
《JavaScript 权威指南》读书笔记 1 - 简介

原文:https://keelii.github.io/2016/06/16/javascript-definitive-guide-note-0/ 第一章 主要介绍 JavaScript 的大概情况、基本语法。之前没有 JavaScript 基础的看不懂也没关系,后续章节...

keelii
2016/06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

没什么启示的启示——《中国生存启示录》读后感4300字范文

没什么启示的启示——《中国生存启示录》读后感4300字范文: 文:夜晨1981。先后两次阅读这本书,第一次是2016年3月,第二次是2018年12月。读了两遍,都有一个理由,就是梁晓声这个名字。不知...

原创小博客
昨天
3
0
ubuntu常用操作

显卡GPU 查看显卡信息sudo lshw -numeric -class video# 查看显卡型号lspci | grep -i nvidia# 查看驱动版本sudo dpkg --list | grep nvidia-*或者 ubuntu-drivers devices#查看显卡...

hc321
昨天
2
0
mysql密码重置

方法一: 在my.ini的[mysqld]字段加入: skip-grant-tables 重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysql mysql>use mysql; mysql>更新 update user set password=pas...

architect刘源源
昨天
6
1
SpringBoot + Mybatis 配置多数据源(Srping boot 二)

前置条件,你已经配置好spring boot+mybatis,可以参考之前的博客 实现逻辑通过注解+aop切面编程来动态更新datasource 第一步,配置多个DataSource server: port: 8080freezing: ...

小海bug
昨天
13
0
连续潜在变量---概率PCA

最大似然PCA 用于PCA的EM算法 贝叶斯PCA 因子分解

中国龙-扬科
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部