WebAPI个人学习心得

JS快速入门个人学习心得

WebAPI个人学习心得

    • 1、API简介
    • 2、DOM
    • 3、获取页面元素
      • 3.1 根据id获取元素
      • 3.2 获取对应标签的元素
      • 3.3 其他方式
    • 4、属性操作和注册事件
        • 事件源
        • 非表单元素属性
        • this
        • 案例一:点击小图片显示大图片且不跳转
        • 表单元素属性
        • 案例二:检测用户名和密码不满足就高亮显示
        • 案例三:设置下拉框的随机选中
        • 案例四:全选反选
        • 自定义属性操作
    • 5、节点层次结构
        • 父子结构:获取子节点和子元素
        • 案例一:菜单栏
        • 兄弟节点
    • 6、动态创建元素
        • 案例一:点击按钮生成列表
        • 案例二:动态创建表格
        • 案例三: 多选水果移动
    • 7、事件
        • 注册事件
        • 移除事件
        • 事件委托
    • 8、事件对象
        • 案例一:获取鼠标在盒子中的位置(不是相对于整个页面是相对于盒子)
        • 取消默认行为
        • 取消冒泡
        • 键盘事件
    • 9、BOM
        • JS加载
        • 定时器
        • 案例一:倒计时
        • location对象(可以实现页面跳转)
        • 案例二:小盒子移动动画(获取当前位置坐标)
        • URL
    • 10、和大小、位置相关的三组属性
        • offset(偏移量)
        • client(客户区大小)
        • scrool (滚动偏移)
        • 案例一:鼠标拖拽
        • 案例二:登录框
        • 案例三:放大镜
    • 11、简单动画
        • 案例一:轮播图
        • 案例二:回到顶部

1、API简介

WebAPI个人学习心得_第1张图片
WebAPI个人学习心得_第2张图片

2、DOM

WebAPI个人学习心得_第3张图片
WebAPI个人学习心得_第4张图片

3、获取页面元素

3.1 根据id获取元素

WebAPI个人学习心得_第5张图片
通过document来获取

-proto-:
是这个对象真实类型

3.2 获取对应标签的元素

在这里插入图片描述
获取id为container下的所有div标签:
在这里插入图片描述

3.3 其他方式

WebAPI个人学习心得_第6张图片
在这里插入图片描述
WebAPI个人学习心得_第7张图片
在这里插入图片描述
WebAPI个人学习心得_第8张图片

4、属性操作和注册事件

事件源

WebAPI个人学习心得_第9张图片

一般来说,页面标签的属性在对象中是都存在的。

非表单元素属性

WebAPI个人学习心得_第10张图片
WebAPI个人学习心得_第11张图片
注册事件:当点击或者是其他操作时去做什么事(监听事件产生去执行一个事)。
WebAPI个人学习心得_第12张图片

this

WebAPI个人学习心得_第13张图片
取消a标签跳转
获取到a标签元素后在点击事件中return false就可以
WebAPI个人学习心得_第14张图片
WebAPI个人学习心得_第15张图片

案例一:点击小图片显示大图片且不跳转

WebAPI个人学习心得_第16张图片
WebAPI个人学习心得_第17张图片WebAPI个人学习心得_第18张图片
innerHTML和innerText
获取开始标签和结束标签之间的内容
在这里插入图片描述
控制台打印出对象
WebAPI个人学习心得_第19张图片
WebAPI个人学习心得_第20张图片
WebAPI个人学习心得_第21张图片
textContent和innerText相同,都是获取文本内容。但是兼容性不同。
WebAPI个人学习心得_第22张图片
获取内容时,根据是否想获取带标签的元素来决定使用哪个
设置的时候:
WebAPI个人学习心得_第23张图片

表单元素属性

WebAPI个人学习心得_第24张图片
在这里插入图片描述
有三个:
WebAPI个人学习心得_第25张图片

在这里插入图片描述
获取到所有input标签后它是一个数组,可以通过数组形式访问里面每个元素。
WebAPI个人学习心得_第26张图片

案例二:检测用户名和密码不满足就高亮显示

注意: class属性对应的DMO对象是className
WebAPI个人学习心得_第27张图片
在这里插入图片描述

这段写在JS里:
WebAPI个人学习心得_第28张图片

案例三:设置下拉框的随机选中

WebAPI个人学习心得_第29张图片
WebAPI个人学习心得_第30张图片
在这里插入图片描述
WebAPI个人学习心得_第31张图片

案例四:全选反选

WebAPI个人学习心得_第32张图片
WebAPI个人学习心得_第33张图片
WebAPI个人学习心得_第34张图片
WebAPI个人学习心得_第35张图片
先把在这里插入图片描述定义出来
WebAPI个人学习心得_第36张图片
WebAPI个人学习心得_第37张图片
由于频繁调用所以封装成函数
WebAPI个人学习心得_第38张图片
WebAPI个人学习心得_第39张图片
WebAPI个人学习心得_第40张图片

自定义属性操作

获取
WebAPI个人学习心得_第41张图片
设置
WebAPI个人学习心得_第42张图片
移除
在这里插入图片描述
模拟DOM
WebAPI个人学习心得_第43张图片
WebAPI个人学习心得_第44张图片

5、节点层次结构

DOM维护了一个节点树,页面结构在DOM中就是树形结构。
WebAPI个人学习心得_第45张图片
WebAPI个人学习心得_第46张图片

父子结构:获取子节点和子元素

WebAPI个人学习心得_第47张图片
WebAPI个人学习心得_第48张图片
获取子元素:
WebAPI个人学习心得_第49张图片
隔行换色小案例
WebAPI个人学习心得_第50张图片
WebAPI个人学习心得_第51张图片
获取第一个和最后一个子元素和子节点:
WebAPI个人学习心得_第52张图片
WebAPI个人学习心得_第53张图片

案例一:菜单栏

WebAPI个人学习心得_第54张图片

WebAPI个人学习心得_第55张图片
WebAPI个人学习心得_第56张图片
WebAPI个人学习心得_第57张图片在这里插入图片描述

兄弟节点

WebAPI个人学习心得_第58张图片
WebAPI个人学习心得_第59张图片

6、动态创建元素

WebAPI个人学习心得_第60张图片
WebAPI个人学习心得_第61张图片
WebAPI个人学习心得_第62张图片
WebAPI个人学习心得_第63张图片
把已经存在的元素移动到另一个地方:
在这里插入图片描述
WebAPI个人学习心得_第64张图片
write:用得少
放在按钮中会切换页面。

innerHTML : 创建简单标签所用
在这里插入图片描述
这个不会切换页面:
WebAPI个人学习心得_第65张图片
**createElement *生成复杂结构用
WebAPI个人学习心得_第66张图片
在这里插入图片描述
p元素就是p标签。
WebAPI个人学习心得_第67张图片

这个对象里就有相对应的方法。先创建在放在DOM树上,追加在之前标签后面。

案例一:点击按钮生成列表

WebAPI个人学习心得_第68张图片
innerHTML实现:

基础版本:问题:每次加载innerHTML都会重新绘制,效率低
WebAPI个人学习心得_第69张图片
注意:这里之所以是 += 是因为 = 会将之前的覆盖掉,我们要做的不是赋值而是字符串拼接。
WebAPI个人学习心得_第70张图片
优化一:先拼接好字符串在赋值
问题:字符串因为不可变,所以每次拼接都需要重新开辟内存,需要耗费时间
WebAPI个人学习心得_第71张图片
优化二:用数组代替,拼接后在转化为字符串
WebAPI个人学习心得_第72张图片
createElement实现:

将案例一高亮显示
WebAPI个人学习心得_第73张图片
WebAPI个人学习心得_第74张图片
WebAPI个人学习心得_第75张图片
WebAPI个人学习心得_第76张图片

WebAPI个人学习心得_第77张图片

案例二:动态创建表格

WebAPI个人学习心得_第78张图片
WebAPI个人学习心得_第79张图片
WebAPI个人学习心得_第80张图片
WebAPI个人学习心得_第81张图片
WebAPI个人学习心得_第82张图片
WebAPI个人学习心得_第83张图片
WebAPI个人学习心得_第84张图片
删除功能:
WebAPI个人学习心得_第85张图片

案例三: 多选水果移动

WebAPI个人学习心得_第86张图片
WebAPI个人学习心得_第87张图片
multiple : 这个属性可以让select下拉框变为一个可以多选的文本框。
WebAPI个人学习心得_第88张图片
children是实时的
WebAPI个人学习心得_第89张图片
WebAPI个人学习心得_第90张图片
注意:如果使用下面方式移动的话
WebAPI个人学习心得_第91张图片

7、事件

注册事件

WebAPI个人学习心得_第92张图片
第二种方法:

新的注册事件的方法:(与上面 事件源.事件名(一般带on) 不同)
WebAPI个人学习心得_第93张图片
事件类型就是之前的事件名不带on
WebAPI个人学习心得_第94张图片
WebAPI个人学习心得_第95张图片
第三种注册事件方式:浏览器兼容IE 6-10
在这里插入图片描述

WebAPI个人学习心得_第96张图片

WebAPI个人学习心得_第97张图片
处理兼容性问题:了解
WebAPI个人学习心得_第98张图片

移除事件

通过第一种方式创建的时候:
WebAPI个人学习心得_第99张图片
通过第二种方式创建的时候:
WebAPI个人学习心得_第100张图片
WebAPI个人学习心得_第101张图片
从外到内:
WebAPI个人学习心得_第102张图片
从内到外:
WebAPI个人学习心得_第103张图片
WebAPI个人学习心得_第104张图片

事件委托

交给上一级去做,原理事件冒泡,这样就不用给每一个子元素都添加事件,直接给父元素添加事件有时就可以达到目的。
WebAPI个人学习心得_第105张图片

8、事件对象

WebAPI个人学习心得_第106张图片
在这里插入图片描述

获取真正触发事件的对象
WebAPI个人学习心得_第107张图片

获取事件处理函数所属对象(当前正在执行的元素)
在这里插入图片描述
二者区别:比如在事件冒泡中,给下面三个盒子都注册事件,点击蓝色,那么两者都是蓝色盒子,蓝色盒子执行完之后,会冒泡传递到绿色盒子,此时真正触发事件的对象为蓝色盒子,事件处理函数所属对象(当前正在执行的元素)为绿色盒子…
WebAPI个人学习心得_第108张图片
WebAPI个人学习心得_第109张图片

WebAPI个人学习心得_第110张图片
e.type :获取事件名称
WebAPI个人学习心得_第111张图片
获取鼠标点击位置
WebAPI个人学习心得_第112张图片
WebAPI个人学习心得_第113张图片

案例一:获取鼠标在盒子中的位置(不是相对于整个页面是相对于盒子)

WebAPI个人学习心得_第114张图片
WebAPI个人学习心得_第115张图片
这里这个getPage方法是为了解决兼容性问题,我们自己自定义的方法在common.js中。

取消默认行为

方法一:在事件函数中返回false
在这里插入图片描述
方法二:通过事件对象
WebAPI个人学习心得_第116张图片

取消冒泡

WebAPI个人学习心得_第117张图片

键盘事件

WebAPI个人学习心得_第118张图片
WebAPI个人学习心得_第119张图片

9、BOM

WebAPI个人学习心得_第120张图片
了解三种对话框(不用)
WebAPI个人学习心得_第121张图片

JS加载

WebAPI个人学习心得_第122张图片
WebAPI个人学习心得_第123张图片
点关闭页面就是卸载页面。

定时器

在这里插入图片描述
setTimeOut:

属于window的属性都可以省略window
之所以把标示定义为全局变量是因为局部变量外部无法访问。
WebAPI个人学习心得_第124张图片
让一个块隔一段时间自动隐藏:
WebAPI个人学习心得_第125张图片
setInterVal:

案例一:倒计时

获取两个日期时间差
WebAPI个人学习心得_第126张图片
返回一个对象
WebAPI个人学习心得_第127张图片
WebAPI个人学习心得_第128张图片

location对象(可以实现页面跳转)

WebAPI个人学习心得_第129张图片
页面跳转:

法一:
WebAPI个人学习心得_第130张图片
法二:
在这里插入图片描述
法三:
在这里插入图片描述
法四:
WebAPI个人学习心得_第131张图片

案例二:小盒子移动动画(获取当前位置坐标)

WebAPI个人学习心得_第132张图片
WebAPI个人学习心得_第133张图片
WebAPI个人学习心得_第134张图片
WebAPI个人学习心得_第135张图片

URL

WebAPI个人学习心得_第136张图片
模拟浏览器自带:
在这里插入图片描述

前进:
WebAPI个人学习心得_第137张图片

后退:
WebAPI个人学习心得_第138张图片
可以通过 navigator.userAgent 来判断是PC还是移动端

10、和大小、位置相关的三组属性

offset(偏移量)

WebAPI个人学习心得_第139张图片
WebAPI个人学习心得_第140张图片
WebAPI个人学习心得_第141张图片
WebAPI个人学习心得_第142张图片
WebAPI个人学习心得_第143张图片
Left - 横向偏移:横坐标
Top - 纵向偏移: 纵坐标

client(客户区大小)

在这里插入图片描述
WebAPI个人学习心得_第144张图片
WebAPI个人学习心得_第145张图片
WebAPI个人学习心得_第146张图片

scrool (滚动偏移)

WebAPI个人学习心得_第147张图片
WebAPI个人学习心得_第148张图片
在这里插入图片描述
WebAPI个人学习心得_第149张图片

案例一:鼠标拖拽

鼠标点下并未抬起事件
鼠标移动事件
位置:
WebAPI个人学习心得_第150张图片
WebAPI个人学习心得_第151张图片
注意:一定要在style.left = x + **‘px’**带单位!
WebAPI个人学习心得_第152张图片
WebAPI个人学习心得_第153张图片

案例二:登录框

WebAPI个人学习心得_第154张图片
显示遮盖层:将display从none变为其他
隐藏就改为none
WebAPI个人学习心得_第155张图片
WebAPI个人学习心得_第156张图片

案例三:放大镜

在这里插入图片描述
WebAPI个人学习心得_第157张图片
WebAPI个人学习心得_第158张图片
WebAPI个人学习心得_第159张图片
WebAPI个人学习心得_第160张图片

结构:
WebAPI个人学习心得_第161张图片
WebAPI个人学习心得_第162张图片
WebAPI个人学习心得_第163张图片WebAPI个人学习心得_第164张图片
WebAPI个人学习心得_第165张图片
WebAPI个人学习心得_第166张图片
WebAPI个人学习心得_第167张图片

11、简单动画

让一个盒子执行从左移动到右的动画。JS可以随时给一个元素增加属性: 元素名.要增加的属性名 就可以了。
WebAPI个人学习心得_第168张图片
WebAPI个人学习心得_第169张图片

案例一:轮播图

WebAPI个人学习心得_第170张图片
WebAPI个人学习心得_第171张图片
WebAPI个人学习心得_第172张图片
WebAPI个人学习心得_第173张图片
WebAPI个人学习心得_第174张图片
WebAPI个人学习心得_第175张图片
WebAPI个人学习心得_第176张图片
WebAPI个人学习心得_第177张图片
WebAPI个人学习心得_第178张图片
注:这里的my$就是根据id获取元素
WebAPI个人学习心得_第179张图片
第二步放在第一步的循环中,把函数定义放在循环外。记录索引放在循环中,第二步之后
WebAPI个人学习心得_第180张图片
WebAPI个人学习心得_第181张图片
WebAPI个人学习心得_第182张图片
WebAPI个人学习心得_第183张图片
WebAPI个人学习心得_第184张图片
WebAPI个人学习心得_第185张图片
WebAPI个人学习心得_第186张图片
WebAPI个人学习心得_第187张图片
WebAPI个人学习心得_第188张图片
WebAPI个人学习心得_第189张图片
在这里添加:
WebAPI个人学习心得_第190张图片

案例二:回到顶部

WebAPI个人学习心得_第191张图片
WebAPI个人学习心得_第192张图片
WebAPI个人学习心得_第193张图片
在这里插入图片描述
在这里插入图片描述
WebAPI个人学习心得_第194张图片
WebAPI个人学习心得_第195张图片
结束~

你可能感兴趣的:(新手,js)