JavaScript(二)-Web APIS

文章目录

  • Web API 基本认知
    • 作用和分类
    • 什么是DOM
    • DOM树
    • DOM对象
    • 获取DOM对象
    • 操作元素内容
    • 操作元素属性
      • 操作元素常用属性
      • 操作元素样式属性
      • 自定义属性
    • 定时器-间歇函数
      • 定时器函数的理解
      • 定时器函数使用
        • 间歇函数
    • 事件监听与绑定
    • 事件监听
    • 事件监听版本
      • 事件类型
      • 事件对象
        • 什么是事件对象
        • 获取事件对象
        • 事件对象中的常用属性
      • 环境对象
      • 回调函数


Web API 基本认知

作用和分类

作用:就是使用JS去操作html和浏览器
分类:DOM(文档对象模型)、BOM(浏览器对象模型)

什么是DOM

在这里插入图片描述

DOM树

在这里插入图片描述

DOM对象

在这里插入图片描述

获取DOM对象

1、 根据CSS选择器来获取元素(重点)
在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 200px;height: 200px;}</style>
</head><body><div class="box">123</div><div class="box">456</div><p id="nav">导航栏</p><ul><li>1</li><li>2</li><li>3</li></ul><script>// 1.获取匹配到的第一个元素const box1 = document.querySelector('div')console.log('box1', box1);const box2 = document.querySelector('.box')console.log('box2', box2);const p = document.querySelector('#nav')console.log('p', p);const li = document.querySelector('ul li:first-child')console.log('li', li);</script>
</body></html>

2、选择匹配的多个元素
在这里插入图片描述
注意点:选择所有之后只能通过遍历的方式一次给里面的元素做修改
在这里插入图片描述

操作元素内容

  • 对象.innerText属性
  • 对象.innerHTML属性
    他们之间的区别
    在这里插入图片描述

操作元素属性

操作元素常用属性

在这里插入图片描述

操作元素样式属性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<script>
// 通过classList添加
/11.获取元素
const box = document.querySelector('.box')// 2.修改样式
//1 2.1 追加类 add()类名不加点,并且是字符串
// box.classList.add('active')
//2.2 删除类 remove()类名不加点,并且是字符串
// box.classList.remove('box')
//2.3 切换类 toggle() 有还是没有啊,有就删掉,没有就加上
box.classList.toggle('active')
</script>

在这里插入图片描述

自定义属性

在这里插入图片描述
在这里插入图片描述

定时器-间歇函数

定时器函数的理解

在这里插入图片描述

定时器函数使用

间歇函数

开启
在这里插入图片描述
关闭
在这里插入图片描述
案例
轮播图效果代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>轮播图定时器切换</title><style>* {box-sizing: border-box;}.slider {width: 560px;height: 400px;overflow: hidden;}.slider-wrapper {width: 100%;height: 320px;}.slider-wrapper img {width: 100%;height: 100%;display: block;}.slider-footer {height: 80px;background-color: rgb(100, 67, 68);padding: 12px, 12px, 0, 12px;position: relative;}.slider-footer .toggle {position: absolute;right: 0;top: 12px;display: flex;}.slider-footer .toggle button {margin-right: 12px;width: 28px;height: 28px;appearance: none;border: none;background-color: rgba(255, 255, 255, 0.1);color: #fff;border-radius: 4px;cursor: pointer;}.slider-footer .toggle button:hover {background: rgba(255, 255, 255, 0.2);}.slider-footer p {margin: 0;color: #fff;font-size: 18px;margin-bottom: 10px;}.slider-indicator {margin: 0;padding: 0;list-style: none;display: flex;align-items: center;}.slider-indicator li {width: 8px;height: 8px;margin: 4px;border-radius: 50%;background: #fff;opacity: 0.4;cursor: pointer;}.slider-indicator li.active {width: 12px;height: 12px;opacity: 1;}</style>
</head><body><div class="slider"><div class="slider-wrapper"><img src="./image/1.png" alt=""></div><div class="slider-footer"><p>123456</p><ul class="slider-indicator"><li class="active"></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><div class="toggle"><button class="prev">&lt;</button><button class="next">&gt;</button></div></div></div><script>const sliderData = [{ url: './image/1.png', title: '1', color: "rgb(100, 67, 68)" },{ url: './image/2.png', title: '2', color: "rgb(43, 35, 26)" },{ url: './image/3.png', title: '3', color: "rgb(36, 33, 31)" },{ url: './image/4.png', title: '4', color: "rgb(100, 67, 68)" },{ url: './image/1.png', title: '1', color: "rgb(67, 92, 90)" },{ url: './image/2.png', title: '2', color: "rgb(166, 131, 143)" },{ url: './image/3.png', title: '3', color: "rgb(53, 29, 25)" },{ url: './image/4.png', title: '4', color: "rgb(99, 72, 114) " },]// 1.获取元素const img = document.querySelector('.slider-wrapper img')const p = document.querySelector('.slider-footer p')// 2.开启定时器let i = 0setInterval(function () {i++if (i == sliderData.length) i = 0img.src = sliderData[i].urlp.innerHTML = sliderData[i].title// 小圆点// 先删除之前的activedocument.querySelector('.slider-indicator .active').classList.remove('active')document.querySelector(`.slider-indicator li:nth-child(${i + 1})`).classList.add('active')}, 1000)</script>
</body></html>

事件监听与绑定

事件监听

事件监听的理解
在这里插入图片描述
事件监听写法
在这里插入图片描述
在这里插入图片描述

事件监听版本

在这里插入图片描述

事件类型

在这里插入图片描述

事件对象

什么是事件对象

在这里插入图片描述

获取事件对象

在这里插入图片描述

事件对象中的常用属性

在这里插入图片描述

环境对象

在这里插入图片描述
在这里插入图片描述
但箭头函数this的指向则不是

回调函数

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600181.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建Zookeeper集群:三台服务器,一场分布式之舞

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 搭建Zookeeper集群&#xff1a;三台服务器&#xff0c;一场分布式之舞 前言前置设置主机名对应关系要有java环境 步骤1. 下载和解压 ZooKeeper&#xff1a;2. 配置 ZooKeeper&#xff1a;3. 配置集群节…

健康元 穿越周期看底色

中国创新药正在迈进2.0时代。 进入2024年之后&#xff0c;越来越多的国内创新药企开始主动调整研发管线&#xff0c;缩减研发开支&#xff0c;甚至是直接被“溢出”了市场。 在“风向标”的融资端&#xff0c;过去的2023年也是中国创新药融资市场连续第二年出现一二级市场融资…

LabVIEW数控磨床振动分析及监控系统

LabVIEW数控磨床振动分析及监控系统 在现代精密加工中&#xff0c;数控磨床作为关键设备之一&#xff0c;其加工质量直接影响到产品的精度与性能。然而&#xff0c;磨削过程中的振动是影响加工质量的主要因素之一&#xff0c;不仅会导致工件表面质量下降&#xff0c;还可能缩短…

达梦备份与恢复

达梦备份与恢复 基础环境 操作系统&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本&#xff1a;DM Database Server 64 V8 架构&#xff1a;单实例1 设置bak_path路径 --创建备份文件存放目录 su - dmdba mkdir -p /dm8/backup--修改dm.ini 文件…

222,完全二叉树的节点数

给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置。若最…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑灵活爬坡产品的虚拟电厂两阶段分布鲁棒优化运营策略》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

conda创建虚拟环境太慢,Collecting package metadata (current_repodata.json): failed

(省流版&#xff1a;只看加粗红色&#xff0c;末尾也有哦) 平时不怎么用conda&#xff0c;在前公司用服务器的时候用的是公司的conda源&#xff0c;在自己电脑上直接用python创建虚拟环境完事儿&#xff0c;所以对conda的配置并不熟悉~~【狗头】。但是python虚拟环境的最大缺点…

企业IT运维事中故障定位方法及工具

企业IT故障定位指诊断故障直接原因或根因&#xff0c;故障定位有助于故障恢复动作更加有效。故障定位通常是整个故障过程中耗时最长的环节&#xff0c;定位的目标围绕在快速恢复的基础上&#xff0c;而非寻找问题根因&#xff0c;后者由问题管理负责。通常大部分可用性故障&…

解决 VSCode 编辑器点击【在集成终端中打开】出现新的弹框

1、问题描述 在 VSCode 的项目下&#xff0c;鼠标右键&#xff0c;点击【在集成终端中打开】&#xff0c;出现新的一个弹框。新版的 VSCode 会有这个问题&#xff0c;一般来说我们都希望终端是在 VSCode 的控制台中打开的&#xff0c;那么如何关闭这个弹框呢&#xff1f; 2、解…

MUX VLAN

目录 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.使用Hybrid端口实现网络需求 3.使用Mux VLAN实现网络需求 原理概述 在实际的企业网络环境中&#xff0c;往往需要所有的终端用户都能够访问某些特定的服务器&#xff0c;而用户之间的访问控制规则则比较复杂。在…

Linux 多线程与线程控制(程序均有详细注释)

多线程与线程控制 线程的基本概念线程的特点页表多线程 线程控制线程的创建线程传参线程id资源回收---线程等待线程id和LWP 封装一个线程库线程互斥和线程同步线程互斥基本原理线程安全VS线程不安全锁的诞生可重入VS线程安全 死锁死锁的定义 线程同步条件变量接口 生成消费者模…

Mysql底层原理五:如何设计、用好索引

1.索引的代价 空间上的代价 时间上的代价 每次对表中的数据进⾏增、删、改操作时&#xff0c;都需要去修改各个B树索引。⽽且我们讲过&#xff0c;B树每层节点都是按照索引列的值从⼩到⼤的顺序排序⽽组成了双 向链表。不论是叶⼦节点中的记录&#xff0c;还是内节点中的记录&a…