文档中心
首页
  • HTML
  • CSS
  • JavaScript
  • Vue
  • 前端工程化
  • Laravel
  • MySql
  • Linux
  • 公众号与小程序
  • 其他
  • vue-element-admin
  • vue-antd-admin
  • VuePress
  • 《JavaScript教程》
  • 《JavaScript高级程序设计》
  • 《ES6 教程》
  • 《Vue》
  • 《React》
  • 《TypeScript 从零实现 axios》
  • 《Git》
  • TypeScript
  • vue-element-admin集成模板
  • 商品进销存管理系统
  • 民主测评管理系统
  • 在线考试系统
  • 股票分析系统
  • 利用vue.js和vue-element-admin开发管理系统
  • PHP开发微信公众号
  • Laravel开发RESTful API
  • uni-app开发微信小程序
技术文摘
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
关于
收藏
  • 分类
  • 标签
  • 归档

Evan Xu

前端界的小学生
首页
  • HTML
  • CSS
  • JavaScript
  • Vue
  • 前端工程化
  • Laravel
  • MySql
  • Linux
  • 公众号与小程序
  • 其他
  • vue-element-admin
  • vue-antd-admin
  • VuePress
  • 《JavaScript教程》
  • 《JavaScript高级程序设计》
  • 《ES6 教程》
  • 《Vue》
  • 《React》
  • 《TypeScript 从零实现 axios》
  • 《Git》
  • TypeScript
  • vue-element-admin集成模板
  • 商品进销存管理系统
  • 民主测评管理系统
  • 在线考试系统
  • 股票分析系统
  • 利用vue.js和vue-element-admin开发管理系统
  • PHP开发微信公众号
  • Laravel开发RESTful API
  • uni-app开发微信小程序
技术文摘
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
关于
收藏
  • 分类
  • 标签
  • 归档
  • HTML

  • CSS

  • JavaScript文章

  • JavaScript

    • 深入理解JavaScript
    • Javascript客户端编程
      • 了解document属性, 了解DOM
        • 认识元素选择DOM API
        • 节点的常用操作
        • 了解的节点的属性
        • DOM节点的文档结构以及遍历
        • DOM元素树的结构以及遍历
        • 访问元素的属性
        • 修改元素内容
      • 文档和元素位置以及滚动
        • 视口宽度和高度(浏览器用于显示页面的宽度和高度)
        • 网页的宽度和高度
        • 滚动的宽度和高度,代表我们页面滚动了多少像素
        • 利用脚本来操作CSS
      • 客户端事件系统
        • 事件对象
        • 事件的应用
    • JavaScript中面向对象的编程
    • DOM元素的宽高操作
    • canvas-步骤
    • canvas-矩形
    • canvas-路径与画圆
  • Vue

  • uni-app

  • 前端工程化

  • 前端
  • JavaScript
wmhello
2021-11-12
目录

Javascript客户端编程

# Javascript客户端编程

# 了解document属性, 了解DOM

window全局对象下有document属性,表示我们当前的页面,该属性是一个对象
window.document.body 显示所有的页面内容 window.document.head 显示我们html文件中的head标签的内容

  1. html的文档内容在浏览器中是以node(节点)的方式呈现的,各个页面节点是一个树形图
  2. 利用浏览器给我们提供的DOM API,可以去访问页面各节点(html标签),可以动态的添加和删除节点,设置节点内容的css属性

# 认识元素选择DOM API

  1. getElementById
  2. getElementsByName
  3. getElementsByTagName
  4. querySelector
  5. querySelectorAll
  6. getElementsByClassName

# 节点的常用操作

要插入新内容到指定的位置,我们必须先建立相关的节点,如果节点是元素,则用createElement API ,如果节点中还有文本节点,则要使用createTextNode API来插入文本节点,文本作为一个节点,如果是某一个元素的一部分,则我们要利用appendChild API来插入内容到父节点

  1. createElement (document)
  2. createTextNode (document)
  3. appendChild (父节点上调用)
  4. removeChild
  1. insertBefore

# 了解的节点的属性

  1. nodeName
  2. nodeType
  3. nodeValue

# DOM节点的文档结构以及遍历

  1. parentNode (访问父节点)
  2. firstChild (找第一个子节点)
  3. lastChild (找最后一个子节点)
  4. childNodes (找出所有的子节点)
  5. nextSibling (访问兄弟节点)
  6. previoursSibling (访问上一个兄弟节点)

# DOM元素树的结构以及遍历

  1. parentElement (访问父元素)
  2. firstElementChild (访问第一个子元素)
  3. lastElementChild (访问最后一个子元素)
  4. children (获取所有的子元素)
  5. childElementCount (得到子元素的个数)
  6. nextElementSibling (访问下一个兄弟子元素)
  7. previoursElementSibling (访问上一个兄弟子元素)

# 访问元素的属性

标准属性包括id、src、className (node.id) 非标准属性width、height(getAttribute、setAttribute) 自定义属性 (data-tips) dataset属性 (node.dataset)

# 修改元素内容

找到元素,利用DOM API去修改内容

  1. innerHTML (修改元素内部的内容)
  2. outerHTML (替换元素内容,包括标签)
  3. innerText (修改元素的文字内容)
  4. insertAdjacentHTML(位置, html字符串) 在指定的位置插入节点 位置包括(beforebegin、afterbegin、beforeend、afterend)
  5. textContent (修改元素内部的文字)

# 文档和元素位置以及滚动

# 视口宽度和高度(浏览器用于显示页面的宽度和高度)

document.documentElement.clientWitdth
document.documentElement.clientHeight

# 网页的宽度和高度

获取元素的几何尺寸

   document.documentElement.getBoundingClientRect()  ( top left  right bottom x y width height)
   x === left
   y === top
   x + width === right
   y + height === bottom
1
2
3
4
5

对于元素来说,通过getBoundingClientRect()获取的位置信息,都是相对于视口来显示

# 滚动的宽度和高度,代表我们页面滚动了多少像素

     document.documentElement.scrollLeft(向右滚动)
     document.documentElement.scrollTop(垂直滚动,向下滚动)
1
2

window.scrollTo(x,y) => 滚动到距离网页页面定点多少高度的位置 x=> 水平距离 y=>垂直距离

获取军事板块在网页的位置

var el = document.querySelector('#historyNewsList').getBoundingClientRect()
var scrollHeight = document.documentElement.scrollTop
var elHeight = el.top + scrollHeight
1
2
3

利用window.scrollTo(0,elHeight)

屏幕的宽度和高度  
屏幕的宽高 screen.width  screen.height
屏幕的可用宽和高  screen.availWith screen.availHeight(除去window开始任务栏)

元素的宽高,开始位置,内容从文档的开始位置算起,针对文档
e.offsetTop
e.offsetLeft
e.offsetWith
e.offsetHeight

# 利用脚本来操作CSS

操作元素的属性中的style

css里面font-size这个属性,利用js操作时,我们要去掉-,使用小驼峰的方式来书写: e.style.fontSize = "30px"
用计算样式获取指定元素的属性:window.getComputedStyle(元素, null)
js操作css类: e.className 获取当前使用的css中的class e.classList 获取当前的css类,并可以利用相关的方法进行操作

   e.classList.add   => 添加
   e.classList.remove  =>  删除
   e.classList.contains  => 检测是否包含
   e.classList.toggle  => 切换
1
2
3
4

脚本连接和操作样式表 1 获取head元素 2 建立link元素并设置相关属性 3 插入link元素到head

# 客户端事件系统

客户端javascript程序采用了异步事件驱动编程模型,事件是web浏览器通知应用程序发生什么事情。

# 事件对象

与特定的事件相关兵器含有该事件详细信息的对象。

# 事件的应用

了解web浏览器给我们提供的事件

与输入设备有关的事件(鼠标事件、键盘事件)
用户界面的一些事件(表单元素的各种事件 获取焦点 改变内容)
状态变化的事件(window中的load、scroll、resize)
特定的API事件(html5里面提供的拖动事件等)

传统的类型类型

表单事件(submit、reset、change)
window事件(load、scroll、error、resize)
鼠标事件(click、dbclik、mousemove、mouseenter、mouseleave)
键盘事件(keydown、keyup、keypress)

DOM事件的分级

DOM0、DOM2、DOM3

如何使用事件

必须注册事件处理器,当事件发生的时候,就处理我们指定的代码 有两种方式来注册使用事件,分别用DOM0和DOM2的方式 DOM0的事件注册可以分两种方式,

深入理解JavaScript
JavaScript中面向对象的编程

← 深入理解JavaScript JavaScript中面向对象的编程→

最近更新
01
使用VuePress搭建博客系统(一)
08-08
02
利用FreeSSL.cn申请免费SSL证书
07-23
03
民主测评管理系统
07-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 wmhello |备案号:滇ICP备2023013341号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式