JavaScript(二)-Web APIS

news2024/11/28 20:52:31

文章目录

  • 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 = 0
    setInterval(function () {

      i++
      if (i == sliderData.length) i = 0
      img.src = sliderData[i].url
      p.innerHTML = sliderData[i].title
      // 小圆点
      // 先删除之前的active
      document.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.coloradmin.cn/o/1576782.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

转让名称带中国的金融控股集团公司要多少钱

随着公司的发展和市场竞争的影响&#xff0c;越来越多的创业者希望注册一家好名称的公司&#xff0c;以提高企业知名度和竞争力。但是&#xff0c;注册中字头无地域公司需要满足一定的条件和流程。本文将对中字头无地域公司注册条件及流程进行详细的介绍。可以致电咨询我或者来…

Sketch是免费软件吗?这款软件支持导入!

Sketch 是一款针对网页、图标、插图等设计的矢量绘图软件。Sketch 的操作界面非常简单易懂&#xff0c;帮助全世界的设计师创作出许多不可思议的作品。但是同时&#xff0c;Sketch 也有一些痛点&#xff1a;使用 Sketch 需要安装 InVision、Abstract 、Zeplin 等插件&#xff0…

粉丝答疑:电脑蓝屏了怎么办?

昨天大白在直播的时候&#xff0c;有粉丝朋友在直播间问到了大白电脑蓝屏了怎么办&#xff1f;今天也特意帮粉丝朋友整理和收集了常见电脑蓝屏代码大全。 电脑蓝屏代码大全及解决办法合集 代码 含意 0 0x00000000 作业完成。 1 0x00000001 不正确的函数。 2 0x00000002 系…

qt自定义窗口在拖动过程中出现抖动且拖动后位置看上去不对

自定义窗口拖动 引言开发环境关键性代码运行结果原因分析改进代码运行结果globalPos()globalPosition()再次修改代码运行结果区别 引言 本文旨在一个问题的记录&#xff1a;自定义窗口拖动的过程中&#xff0c;窗口不能很好的跟随鼠标移动&#xff0c;此外会出现窗口拖动时抖动…

剑指Offer题目笔记29(动态规划矩阵路径问题)

面试题98: 问题&#xff1a; ​ 一个机器人从m x n的格子的左上角出发&#xff0c;它每一步只能向下走或者向右走&#xff0c;计算机器人从左上角到达右下角的路径数量。 解决方案&#xff1a; 机器人每走一步都有两个选择&#xff0c;要么向下走要么向右走。一个任务需要多…

curl下载nexus中的jar包

下载并保持原名称 curl -u admin:password -O "http://127.0.0.1:8081/repository/maven-snapshots/com/edgej/edgej-modules-research/1.0-SNAPSHOT/edgej-modules-research-1.0-20240407.090116-1.jar"下载并重命名 curl -u admin:password -o "edgej-modul…

利用Leaflet + React:构建WEBGIS

React是 Facebook 开发的一个开源库&#xff0c;用于构建用户界面。就其本身而言&#xff0c;Leaflet是一个用于将地图发布到网络的JavaScript 库。这两个工具的组合很简单&#xff0c;允许您创建动态网络地图。在本文中&#xff0c;我们将看到这种组合的一些特征以及一些简单的…

【C++】详解vector二维数组的全部操作(超细图例解析!!!)

目录 一、前言 二、 深度理解vector 的二维数组&#xff08;重点&#xff01;&#xff09; 三、vector 二维数组的空间理解&#xff08;重点&#xff01;&#xff09; ✨问题分析 ✨如何合理定制vector的内存空间 四、vector 二维数组的初始化 五、vector 二维数组的 添加…

宝宝眼部健康,斗鸡眼小心防护

引言&#xff1a; 新生儿期间&#xff0c;宝宝的眼睛需要特别关注和呵护&#xff0c;因为眼睛是宝宝感知世界的窗户。斗鸡眼&#xff0c;即眼球表面的角膜上形成的小疙瘩&#xff0c;虽然在新生儿中比较罕见&#xff0c;但家长们仍然需要了解斗鸡眼的相关知识&#xff0c;并采取…

Vue 有哪些主要的指令修饰符

目录 1. 什么是指令修饰符 2. 指令修饰符有哪些 2.1. 按键修饰符 2.2. v-model修饰符 2.3. 事件修饰符 1. 什么是指令修饰符 通过 "." 指明一些指令 后缀&#xff0c;不同 后缀 封装了不同的处理操作 目的&#xff1a;简化代码 2. 指令修饰符有哪些 2.1. 按键…

让chatGPT控制物理设备

作为自动控制行业的工程师&#xff0c;我们也许最关心的是如何使chatGPT 控制物理设备。我发现许多人仍然停留在传统程序设计的思维阶段&#xff0c;比如让大模型编写一段PLC 代码&#xff0c;或者是生成一些信息模型。 其实大模型具备判断与思考的能力&#xff0c;AI …

尚硅谷html5+css3(2)CSS5基本知识

1.网页分为三个部分&#xff1a; 结构&#xff1a;HTML 表现&#xff1a;CSS 行为JavaScript CSS:层叠样式表&#xff0c;网页实际上是一个多层结构&#xff0c;通过CSS可以分别为网页的每一个层来设置样式&#xff0c;最终用户只看最上面的一层&#xff0c;总之&#xff0…

适用于 Windows 10 的 10 大免费数据恢复软件

数据丢失可能是一场噩梦&#xff0c;尤其是在涉及重要文件和文档时。无论是由于意外删除、系统崩溃还是病毒攻击&#xff0c;找到适合 Windows 10 的文件夹恢复软件都可以在恢复丢失的数据方面发挥重要作用。在本指南中&#xff0c;我们将探索适用于 Windows 10 用户的 10 大免…

景区云旅游/视频慢直播方案设计与平台搭建

一、行业背景 经文化和旅游部数据中心测算&#xff0c;今年清明节假期3天全国国内旅游出游1.19亿人次&#xff0c;按可比口径较2019年同期增长11.5%&#xff1b;国内游客出游花费539.5亿元&#xff0c;较2019年同期增长12.7%。踏青赏花和户外徒步成为假期的热门出游主题。随着…

Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066

很奇怪的问题,在使用nifi的时候碰到的,这里是用NIFI,把数据从postgresql中同步到mysql中, 首先postgresql中的源表,中是没有create_time这个字段的,但是同步的过程中报错了. 报错的内容是说,目标表中有个create_time字段,这个字段是必填的,但是传过来的flowfile文件中,的数据没…

Windows命令行关机操作

cmd相关备忘 1. 导语2. Windows本命操作3. 实用命令集合3.1. 一段时间后关机3.2. 立即关机命令3.3. 一段时间后重启3.4. 休眠命令3.5. 取消指令 &#x1f609; 记录一些不常用有的时候很救命的cmd命令 1. 导语 不知道小伙伴们有么有遇到过这样尴尬的时候&#xff0c;电脑的鼠标…

1.网络编程-网络协议

目录 网络编程是什么 网络编程三要素 OSI七层网络模型 TCP/IP五层模型 SSL/TLS 是哪层协议 网络编程是什么 网络编程是计算机科学中的一个重要领域&#xff0c;它涉及到编写能够在网络环境中进行通信的程序。网络编程的核心目标是使不同的设备能够通过网络交换信息&#…

Python爬虫基础篇章(面试常问1)

如今信息技术的发展已经进入“数据”驱动的时代&#xff0c;通过对海量数据的处理&#xff0c;能够产生极大的科研和商业价值。网络爬虫的出现&#xff0c;将网络上的各种数据进行自动汇总&#xff0c;定制化产生需要的数据&#xff0c;是当今时代数据获取的重要来源。网络爬虫…

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

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

3D渲染器原理及Python朴素实现

最近&#xff0c;我发现自己需要为即将进行的项目提供一些来自不同角度的低多边形 3D 模型的低分辨率精灵。 像这样的东西&#xff1a; 获得它们的可能方法包括&#xff1a; 学习一点 Blender在 WebGL 中制作编写我自己的渲染器 我对 Blender 的短暂经历已经让我受到了创伤&…