WebAPIs 第四天

1.日期对象

2.节点操作

3.M端事件

4.JS插件

一.日期对象

  • 实例化
  • 时间对象方法
  • 时间戳

日期对象:用来表示时间的对象

作用:可以得到当前系统时间

1.1 实例化

① 概念:在代码中发现了new关键字时,一般将这个操作称为实例化

② 创建一个时间对象并获取时间

  •  获取当前时间
const date = new Date()
  • 获得指定时间
const date = new Date('2022-01-05 08:28')

1.2 时间对象方法

日期对象返回的数据我们不能直接使用,所以需要转换为实际开发中常用的格式

const date = new Date() 
console.log(date.getFullYear())
console.log(date.getMonth() + 1)

let h = date.getHours()
let m = date.getMinutes()
let s = date.getSeconds()

1.3  时间戳

① 概念:指的是1970年01月01日00分00秒起到现在的毫秒数,是一种特殊的计量时间的方式

② 算法

  • 将来的时间戳 - 现在的时间戳 = 剩余时间毫秒数
  • 剩余时间毫秒数转换为剩余时间的年月日就是倒计时时间
  • 1秒 = 1000毫秒

 ③ 获取时间戳

  • 使用getTime() 方法 (需要实例化)
const date = new Date()
console.log(date.getTime())
  • 简写 new Date() (无需实例化)
console.log(+new Date())
  • 使用Date.now() (无需实例化)

    但是只能得到当前的时间戳,前两种可以得到指定时间的时间戳

console.log(Date.now())

二.节点操作

  • DOM节点
  • 查找节点
  • 增加节点
  • 删除节点

2.1 DOM节点

① DOM节点:DOM树里面的每一个内容都称为节点

② 节点类型:

  • 元素节点:所有的标签,比如div body
  • 属性节点:所有的属性,比如href
  • 文本节点: 所有的文本
  • 其他

2.2 查找节点

① 节点关系

  • 父节点

   (1)parentNode属性

     (2)返回的最近一级的父节点,找不到返回为null

     (3) 语法:节点.parentNode   

const baby = document.querySelector('.son')
console.log(baby.parentNode.parentNode)
  • 子节点

     (1)childNodes  获得所有子节点,包括文本节点(空格,换行),注释节点等

     (2)children属性 :仅获得所有元素节点,返回一个伪数组

     (3)语法:节点.children

const ul = document.querySelector('ul')
// 获取所有子节点
console.log(ul.children) //选择最近一级孩子

    

  • 兄弟节点

       (1) 下一个兄弟节点:nextElementSibling 属性

     (2)上一个兄弟节点:previousElementSibling 属性

const li2 = document.querySelector('ul li:nth-child(2)')
console.log(li2.nextElementSibling)
console.log(li2.previousElementSibling)

2.3 增加节点

① 创建一个新节点

  • 概念:创造一个新的网页元素,再添加到网页内,一般先创建节点,然后插入节点
  • 创建元素节点方法: document.createElement('标签名')
const div = document.createElement('div')
console.log(div)

② 追加节点(还需要插入到某个父元素中)

  • 插入到父元素的最后一个子元素:    appendChild
const div = document.createElement('div')
console.log(div)
document.body.appendChild(div)
  • 插入到父元素的某个子元素的前面: insertBefore
const ul = document.querySelector('ul')
const li = document.createElement('li')
ul.insertBefore(li, ul.children[0])

2.4 克隆节点

① 语法: 元素.cloneNode(布尔值)

② cloneNode 会克隆出一个跟原标签一样的元素,括号中传入布尔值

  • 如果传入的是true,则代表克隆时会包含后代节点一起克隆
  • 如果传入的是false,则表示克隆时不包含后代节点
  • 默认为false
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <script>
        const ul = document.querySelector('ul')
        const li1 = ul.children[0].cloneNode(true)
        ul.appendChild(li1)
    </script>

 2.5 删除节点

  ① 删除元素必须通过父元素删除

  ② 语法: 父元素.removeChild(要删除的元素)

 ③ 注意

  • 如果不存在父子关系则删除不成功 

三.M端事件

① 移动端也有自己独特的地方,比如触屏事件touch,android和ios都有

② touch对象代表一个触摸点,触摸点可能是一根手指,也可能是一根触摸笔,触屏事件可响应用户手指对屏幕或者触控板操作

③ 常见的触屏事件

        const div = document.querySelector('div')
        div.addEventListener('touchstart', function() {
            console.log('开始触摸')
        })

        div.addEventListener('touchmove', function() {
            console.log('一直触摸')
        })

        div.addEventListener('touchend', function() {
            console.log('停止触摸')
        })

四. JS插件 -- swiper

① 插件的概念:就是别人写好的一些代码,我们只需要复制对应的代码,就可以实现对应的效果② 学习插件过程

  • 熟悉官网,了解这个插件可以完成什么需求
  • 看在线演示,找到符合自己需求的demo
  • 查看基本使用流程
  • 查看API文档,去配置自己的插件
  • 多个swiper同时使用的时候,类名需要注意区分

swipper的 使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./css/swiper.min.css">
    <style>
        .box {
            width: 600px;
            height: 200px;
            background-color: pink;
            margin: 100px;
        }
        html, body {
      position: relative;
      height: 100%;
    }
    body {
      background: #eee;
      font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
      font-size: 14px;
      color:#000;
      margin: 0;
      padding: 0;
    }
    .swiper-container {
      width: 100%;
      height: 100%;
    }
    .swiper-slide {
      text-align: center;
      font-size: 18px;
      background: #fff;

      /* Center slide text vertically */
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
    }
    </style>
</head>
<body>
    <div class="box">
        <div class="swiper-container">
            <div class="swiper-wrapper">
              <div class="swiper-slide">Slide 1</div>
              <div class="swiper-slide">Slide 2</div>
              <div class="swiper-slide">Slide 3</div>
              <div class="swiper-slide">Slide 4</div>
              <div class="swiper-slide">Slide 5</div>
              <div class="swiper-slide">Slide 6</div>
              <div class="swiper-slide">Slide 7</div>
              <div class="swiper-slide">Slide 8</div>
              <div class="swiper-slide">Slide 9</div>
              <div class="swiper-slide">Slide 10</div>
            </div>
            <!-- Add Pagination -->
            <div class="swiper-pagination"></div>
          </div>      
    </div>
    <script src="./js/swiper.min.js"></script>
    <script>
        var swiper = new Swiper('.swiper-container', {
          pagination: {
            el: '.swiper-pagination',
          },
          autoplay: {
            delay: 1000,//1秒切换一次
            // 鼠标点击或触摸之后,继续自动播放
            disableOnInteraction: false,
          },
        // 键盘
          keyboard: {
            enabled: true,
            onlyInViewport: true,
        },
        });
      </script>
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

九、多态(2)

本章概要 构造器和多态 构造器调用顺序继承和清理构造器内部多态方法的行为 协变返回类型使用继承设计 替代 vs 扩展向下转型与运行时类型信息 构造器和多态 通常&#xff0c;构造器不同于其他类型的方法。在涉及多态时也是如此。尽管构造器不具有多态性&#xff08;事实上…

DoIP学习笔记系列:(五)“安全认证”的.dll从何而来?

文章目录 1. “安全认证”的.dll从何而来?1.1 .dll文件base1.2 增加客户需求算法传送门 DoIP学习笔记系列:导航篇 1. “安全认证”的.dll从何而来? 无论是用CANoe还是VFlash,亦或是编辑cdd文件,都需要加载一个与$27服务相关的.dll(Windows的动态库文件),这个文件是从哪…

vscode配置vue用户代码片段

打开vscode软件 选中左下角的设置按钮&#xff0c;再点击用户代码片段&#xff08;如图&#xff09; 再选择vue.json文件/新建全局代码片段&#xff08;如图&#xff09; 进行相关配置&#xff08;如下代码&#xff09; {"Vue2 quickly build template": {&q…

Unity UI.Image 六边形+流光 Shader

效果图 参考代码 Shader"Custom/HexFlowImage" {Properties{[PerRendererData] _MainTex ("Sprite Texture", 2D) "white" {}_Color ("Tint", Color) (1,1,1,1)_StencilComp ("Stencil Comparison", Float) 8_Stencil (…

SQL | 注释

2-注释 2.1-单行注释 select prod_name -- 这是一条行内注释 from products; 使用两个连字符(-- ) 放在行内&#xff0c;两个连字符后的内容即为注释内容。 # 这是一条注释 select prod_name from products; 这种注释方式可能有些数据库不支持&#xff0c;所以使用前应该…

shiro框架基本概念介绍

目录 什么是Shiro: Shiro的核心功能包括&#xff1a; Shiro主要组件及相互作用&#xff1a; Shiro 认证过程&#xff1a; Shiro 授权过程&#xff1a; 资料获取方法 什么是Shiro: Shiro 是一个强大灵活的开源安全框架&#xff0c;可以完全处理身份验证、授权、加密和会话…

funbox3靶场渗透笔记

funbox3靶场渗透笔记 靶机地址 https://download.vulnhub.com/funbox/Funbox3.ova 信息收集 fscan找主机ip192.168.177.199 .\fscan64.exe -h 192.168.177.0/24___ _/ _ \ ___ ___ _ __ __ _ ___| | __/ /_\/____/ __|/ __| __/ _ |/ …

单源最短路的扩展应用

选择最佳线路 有一天&#xff0c;琪琪想乘坐公交车去拜访她的一位朋友。 由于琪琪非常容易晕车&#xff0c;所以她想尽快到达朋友家。 现在给定你一张城市交通路线图&#xff0c;上面包含城市的公交站台以及公交线路的具体分布。 已知城市中共包含 n 个车站&#xff08;编号…

Azure概念介绍

云计算定义 云计算是一种使用网络进行存储和处理数据的计算方式。它通过将数据和应用程序存储在云端服务器上&#xff0c;使用户能够通过互联网访问和使用这些资源&#xff0c;而无需依赖于本地硬件和软件。 发展历史 云计算的概念最早可以追溯到20世纪60年代的时候&#x…

Stable Diffusion WebUI安装和使用教程(Windows)

目录 下载Stable Diffusion WebUI运行安装程序&#xff0c;双击webui.bat界面启动插件安装&#xff08;github&#xff09;模型下载(有些需要魔法&#xff09;安装过程遇到的大坑总结参考的博客 整个过程坑巨多&#xff0c;我花了一个晚上的时间才全部搞定,本教程针对有编程基础…

网络设备(防火墙、路由器、交换机)日志分析监控

外围网络设备&#xff08;如防火墙、路由器、交换机等&#xff09;是关键组件&#xff0c;因为它们控制进出公司网络的流量。因此&#xff0c;监视这些设备的活动有助于 IT 管理员解决操作问题&#xff0c;并保护网络免受攻击者的攻击。通过收集和分析这些设备的日志来监控这些…

苹果Mac像Windows一样使用

一、将磁盘访问设置的像Windows一样&#xff1a; 1.1、点击任务栏第一个按钮打开“访达”&#xff0c;点击菜单栏上的访达-偏好设置&#xff1a; 1.2、勾选“硬盘”&#xff0c;这样macOS的桌面上就会显示一个本地磁盘&#xff0c;之后重命名为磁盘根&#xff0c;相当于window…

部署Springboot项目注意事项

步骤 步骤 1&#xff1a;将数据库内容在云服务器上的数据库部署一份 我使用mariadb&#xff1b;会出现一些不兼容现象&#xff1b;我们需要把默认值删掉 2&#xff1a;配置文件你得修改地方 a&#xff1a;linux是磁盘区分(像我自己项目用来储存验证码的文件我们得换这个配置;…

Spring_AOP

一、AOP简介 AOP&#xff0c;Aspect Oriented Programming,面向切面编程,是对面向对象编程0OP的升华。OOP是纵向对一个事物的抽象&#xff0c;一个对象包括静态的属性信息&#xff0c;包括动态的方法信息等。而AOP是横向的对不同事物的抽象,属性与属性、方法与方法、对象与对象…

cs231n assignment2 q5 PyTorch on CIFAR-10

文章目录 嫌啰嗦直接看源码Q5 :PyTorch on CIFAR-10three_layer_convnet题面解析代码输出 Training a ConvNet题面解析代码输出 ThreeLayerConvNet题面解析代码输出 Train a Three-Layer ConvNet题面解析代码输出 Sequential API: Three-Layer ConvNet题面解析代码输出 CIFAR-1…

【MongoDB】解决ProxmoxVE下CentOS7虚拟机安装MongoDB6后启动失败的问题

目录 安装步骤&#xff1a; 2.1 配置yum源 2.2 安装MongoDB 2.3 启 动MongoDB ProxmoxVE上新装的CentOS7.4虚拟机&#xff0c;安装MongoDB6。 安装步骤&#xff1a; 2.1 配置yum源 # 创建mongodb yum源&#xff08;https://www.mongodb.com/docs/manual/tutorial/insta…

27岁了学plc还来得及吗?

如果你是学电气或者自控&#xff0c;完全没问题&#xff0c;PLC其实只是你的理解力的问题&#xff0c;真正底层的&#xff0c;都帮你打包了&#xff0c;你直接用就是。问题只是&#xff1a;你要能透彻理解 如果你从一个完全陌生的行业转过来&#xff0c;完全没必要。如果本身就…

[数据分析与可视化] Python绘制数据地图5-MovingPandas绘图实例

MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库&#xff0c;用于处理移动物体的轨迹数据。关于MovingPandas的使用见文章&#xff1a;MovingPandas入门指北&#xff0c;本文主要介绍三个MovingPandas的绘图实例。 MovingPandas官方仓库地址为&#xff1a;mo…

自定义批量修改图像位深度

什么是图像位深度&#xff1f;&#xff1f;&#xff1f; 图像位深度(Bit Depth)是指图像中每个像素所占的比特数,它决定了图像能够表示的颜色数量和亮度层级。 简单来说: 位深度越高,每个像素所能表示的颜色数和亮度等级越多。位深度越低,每个像素所能表示的颜色数和亮度等级…

容器安全的常见风险与防护实践

运行在云平台上的容器产品&#xff0c;因为具备一个完整的可移植应用程序环境&#xff0c;能够帮助用户轻松地完成对应用程序的开关控制&#xff0c;提升应用程序的敏捷性&#xff0c;同时节约企业的IT建设成本。在巨大优势作用下&#xff0c;容器产品的采用率在2021年达到了新…