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.rhkb.cn/news/301144.html

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

相关文章

国债逆回购如何收费,现在最低的佣金可以做到多少?

国债逆回购是投资者在持有国债的情况下将其出售给金融机构&#xff0c;同时与该机构约定在未来的一定期限内回购国债。对于投资者来说&#xff0c;国债逆回购是一种获取流动资金的方式&#xff0c;同时也可以获得一定的收益。然而&#xff0c;国债逆回购费用对于投资者而言可能…

《Market Insight:中国流程挖掘市场发展洞察(2023)》报告将于4月11日发布

流程挖掘市场虽然项目数量有所增加&#xff0c;但目前的中国市场依旧处于早期阶段。而伴随着生成式AI技术的发展&#xff0c;流程挖掘市场又将迎来的新的变革和机遇&#xff0c;RPA中国在调研中发现&#xff0c;诸多技术供应商在努力地拥抱生成式AI&#xff0c;以便于提升自身产…

微信开发工具——进行网页授权

微信开发工具——进行网页授权 微信公众平台设置 1.在首页创建好自己的订阅号 网站&#xff1a;https://mp.weixin.qq.com/ 点击立即注册,在选择订阅号&#xff08;个人创建使用&#xff09; 之后按流程填写后&#xff0c;点击设置与开发-------->基本配置&#xff0c;这…

基于DCT和扩频的音频水印嵌入提取算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ......................................................................... N 10; %嵌入一…

探索 Java 网络爬虫:Jsoup、HtmlUnit 与 WebMagic 的比较分析

1、引言 在当今信息爆炸的时代&#xff0c;网络数据的获取和处理变得至关重要。对于 Java 开发者而言&#xff0c;掌握高效的网页抓取技术是提升数据处理能力的关键。本文将深入探讨三款广受欢迎的 Java 网页抓取工具&#xff1a;Jsoup、HtmlUnit 和 WebMagic&#xff0c;分析…

TMGM外汇平台FX110测评:是一家可靠的外汇经纪商吗?

关于TMGM TMGM集团2013年成立于澳大利亚悉尼&#xff0c;是英超豪门切尔西足球俱乐部官方合作伙伴。作为一家为全球客户提供金融产品交易的经纪商&#xff0c;通过FX110查询可知&#xff0c;TMGM同时受ASIC&#xff08;澳大利亚证券委员会&#xff09;、VFSC&#xff08;瓦努阿…

数据库如何预防勒索病毒

1.过去一年全球勒索病毒概览 援引cyberint发布的Ransomware Recap 2023&#xff0c;全球勒索软件攻击次数较去年大幅增长&#xff0c;达到4832起&#xff0c;相较于2022年的2640起&#xff0c;增长幅度惊人。这一增长不仅体现在数量上&#xff0c;更体现在攻击的全球性和蔓延趋…

Vue - 你知道Vue中computed和watch的区别吗

难度级别:中高级及以上 提问概率:70% 二者都是用来监听数据变化的,而且在日常工作中大部分时候都只是局限于简单实用,所以到了面试中很难全面说出二者的区别。接下来我们看一下,二者究竟有哪些区别呢? 先说computed,它的主要用途是监听…

Longan Pi 3H 开发板体验

Longan Pi 3H 开发板体验 开箱内容 打开包装&#xff0c;你可以看到以下物品 一个Longan Pi 3H盒子Longan Pi 3H开发板 产品基本介绍 Longan Pi 3H 是基于 Longan Module 3H 核心板的 ARM Linux 开发板&#xff0c;以 H618 (Quad core ARM Cortex-A531.5Ghz , 64-bit) 为主控…

14届蓝桥杯 C/C++ B组 T7 子串简写 (字符串)

采用存储目标字符下标的方法&#xff0c;此题的想法比较新奇&#xff0c;故予以记录。 存好下标之后&#xff0c;可以先定位好启始的字符&#xff0c;然后去搜结尾字符符合长度k并且最靠近启始字符的下标&#xff0c;找到之后可以直接取到这个下标之后的所有下标&#xff0c;因…

Mysql【索引覆盖、索引下推、索引合并、索引跳跃】介绍

索引覆盖、索引下推、索引合并、索引跳跃都是Mysql对索引的优化手段&#xff0c;它们的思想就是尽量让查询数据走索引&#xff0c;那它们有什么区别呢&#xff1f; 一、首先介绍一下MySQL体系结构 上图来自MySQL官方文档。 通常把MySQL从上至下分为以下几层&#xff1a; MySQ…

深入浅出 -- 系统架构之负载均衡Nginx实现高可用

一、Nginx的高可用 线上如果采用单个节点的方式部署Nginx&#xff0c;难免会出现天灾人祸&#xff0c;比如系统异常、程序宕机、服务器断电、机房爆炸、地球毁灭....哈哈哈&#xff0c;夸张了。但实际生产环境中确实存在隐患问题&#xff0c;由于Nginx作为整个系统的网关层接入…

基于巴法云物联网云平台构建可视化控制网页(以控制LED为例)

0 前言 如今大大小小的物联网云平台非常多&#xff0c;但大部分要收取费用&#xff0c;免费的物联网云平台功能则有很多限制使用起来非常不方便。以百度云物联网云平台为例&#xff0c;它的物可视不支持发布主题&#xff0c;等于可视化界面只能作为数据监控而不具备双向通信的…

算法——哈希表

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享分治算法关于哈希表相关算法的专题 如果有不足的或者错误的请您指出! 1.哈希表简介 哈希实际上可以简单认为是一个存储数据的容器,用于快速查找某个元素,时间复杂度仅为O(1),怎…

深入浅出 -- 系统架构之分布式集群的分类

一、单点故障问题 集群&#xff0c;相信诸位对这个概念并不陌生&#xff0c;集群已成为现时代中&#xff0c;保证服务高可用不可或缺的一种手段。 回想起初集中式部署的单体应用&#xff0c;因为只有一个节点&#xff0c;因此当该节点出现任意类型的故障&#xff08;网络、硬件…

YooAssets 使用相关

## 使用 YooAssets 动态加载原生文件时候 > 原生文件&#xff1a;txt&#xff1b;json&#xff1b;等需要直接保存文件内string字符的文件 需要将打包方式设置成为&#xff0c;PackRawFile 并且加载时候使用 API &#xff1a; YooAssets.LoadRawFileSync()YooAssets.LoadRa…

安卓java打包uniapp原生插件 和 uniapp使用安卓android原生插件

1.uniapp dcloud官方文档 简介 | uni小程序SDK 2.前提&#xff0c;需要有经验的安卓java开发人员&#xff0c;并且同时具备uniapp移动端开发经验。说明&#xff1a;android打包的.aar和uniapp需要的.aar是不一样的&#xff0c;uniapp需要的.aar是需要有一些特定配置的&#x…

在Ubuntu上搭建Prometheus + Grafana监控系统

1.Prometheus 部署 从官网下载页面找到最新的二进制文件下载 cd ~ curl -LO https://github.com/prometheus/prometheus/releases/download/v2.51.1/prometheus-2.51.1.linux-amd64.tar.gz将文件解压到指定目录 tar xf prometheus-2.51.1.linux-amd64.tar.gz -C /usr/local为…

解决IDEA 控制台中文乱码

运行某个项目时IntelliJ IDEA 控制台中文乱码&#xff0c;但其他的项目是正常的。接口文档也显示乱码&#xff1a; 一、修改 IntelliJ IDEA 全局编码、项目编码、属性文件编码 上方导航栏“File→Settings…”进入配置页面&#xff0c;在“Editor”中下滑找到“File Encodings…

centos7.2系统部署ZooKeeper集群和Kafka集群(集群应用系统商城前置环境)

本次实验将使用centos7.2系统部署部署ZooKeeper集群因为Kafka依赖于ZooKeeper&#xff0c;所以我们一并进行部署。 实验所示的资源软件已上传至百度网盘&#xff0c;需要自取。 链接&#xff1a;https://pan.baidu.com/s/1a-7_iAIX0DBAMkF9bhiTcA?pwd2333 提取码&#xff1…