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

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

相关文章

Go 异步任务

Go 异步任务 异步任务在开发中很常见&#xff0c;用来做解耦。本文介绍一下异步队列的实现的几个问题&#xff0c;并且结合三方库实现来分析。 有下面的几个关键点: 用户代码&#xff08;任务&#xff09;如何封装数据的存放&#xff08;数据存放在哪里&#xff1f;就是一个…

[数据集][目标检测]骑电动车摩托车不戴头盔数据集VOC格式1385张

数据集格式&#xff1a;Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件&#xff0c;仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数)&#xff1a;1385 标注数量(xml文件个数)&#xff1a;1385 标注类别数&#xff1a;2 标注类别名称:["y","n&q…

“Can‘t open perl script configure : No such file or directory”的解决办法

编译OpenSSL的时候执行到 perl configure 时提示找不到configure&#xff0c; 然后在网上搜了搜&#xff0c;大家给的解决办法一般都是说设置环境变量或者指定configure路径再执行&#xff1b;我试了都不行&#xff0c; 最后我把perl卸了重装就正常了&#xff1b; 然后我换了…

服务器数据恢复-RAID5上层Hyper-V虚拟机数据恢复案例

服务器数据恢复环境&#xff1a; 一台Windows Server服务器&#xff0c;部署Hyper-V虚拟化环境&#xff0c;虚拟机的硬盘文件和配置文件存放在一台DELL存储中。该存储中有一组由4块硬盘组建的RAID5阵列&#xff0c;用来存放虚拟机的数据文件&#xff0c;另外还有一块大容量硬盘…

Pyqt5使QTextEdit或QLabel等框框背景透明

设置&#xff1a;textEdit->setStyleSheet(“background-color: rgb(255, 255, 255, 60);”);

如何使用Mac终端给树莓派pico构建C/C++程序进行开发,以及遇到各种问题该怎么处理,不使用任何IDE或编辑器(例如VS Code)

写本文的原因是官方的教程已经过时了&#xff0c;如果你现在按照官方教程来在 Mac 上进行配置&#xff0c;那么会遇到一堆问题&#xff0c;比如我几乎把能踩的“雷”都踩了。所以这里记录了完整过程&#xff0c;以及各种错误的原因和处理方法&#xff0c;不然以后换 Mac 了或者…

2023上半年京东奶粉行业品牌销售排行榜(京东数据分析平台)

近年来&#xff0c;受新生儿人口数量下降的影响&#xff0c;婴幼儿奶粉市场的需求量萎缩&#xff0c;市场由增量竞争转为存量竞争。根据鲸参谋电商数据分析平台的数据显示&#xff0c;今年上半年&#xff0c;京东婴幼儿奶粉市场的销量将近4400万&#xff0c;环比下降约19%&…

电气测试相关

项目&#xff1a; 长期过电压 瞬态过电压 瞬态欠压 跳跃启动 卸载 纹波电压 电源电压缓慢下降和上升 电源电压缓慢下降、快速上升 复位行为 短暂中断 启动脉冲 带电气系统控制的电压曲线 引脚中断 连接器中断 反极性 信号线和负载电路短路 启动行为 对分流不…

form中表单切换,导致 relus 中的事件无法触发,原因:页面切换不要一直切换DOM,会导致问题,需要都显示出来

修改前&#xff0c;因为重复渲染DOM导致绑定rules失效 修改前代码使用 computed 计算出渲染的DOM&#xff0c;影响rules事件<el-formref"form"inline:model"billDetailCopy":rules"rules"size"small"label-position"right&quo…

YOLOv5可视化界面

Pyside6可视化界面 安装Pyside6 激活之前的虚拟环境yolov5 在该环境的终端输入以下命令 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyside6输入where python找到当前使用的Python的路径 找到该路径下的designer.exe文件&#xff08;/Lib/site-packages/PySi…

Java IO流——【从零构建信息管理系统】

Java I/O流——【从零构建信息管理系统】 文章目录 什么是Java I/O流介绍理解字节流和字符流的区别 Java I/O流的作用Java I/O流方法InputStream方法Reader方法OutputStream方法Writer方法Java I/O体系的全体类 使用示例Java I/O流在实际应用中使用效果 什么是Java I/O流 介绍…

idea集成chatGPT,免费使用的bito神器

什么是Bito&#xff1f; Bito是一款在IntelliJ IDEA编辑器中的插件&#xff0c;Bito插件是由ChatGPT团队开发的&#xff0c;它是ChatGPT团队为了提高开发效率而开发的一款工具。ChatGPT团队是一支专注于自然语言处理技术的团队&#xff0c;他们开发了一款基于GPT的自然语言处理…

Azure创建第一个虚拟机

首先&#xff0c;登录到 Azure 门户 (https://portal.azure.com/)。在 Azure 门户右上角&#xff0c;点击“虚拟机”按钮&#xff0c;并点击创建&#xff0c;创建Azure虚拟机。 在虚拟机创建页面中&#xff0c;选择所需的基本配置&#xff0c;包括虚拟机名称、操作系统类型和版…

Pytorch个人学习记录总结 10

目录 优化器 优化器 官方文档地址&#xff1a;torch.optimhttps://pytorch.org/docs/stable/optim.html Debug过程中查看的grad所在的位置&#xff1a; model --> Protected Atributes --> _modules --> ‘model’ --> Protected Atributes --> _modules -…

期刊和会议缩写查询网站

1.https://pubmed.ncbi.nlm.nih.gov/?termMedicalImageComputingandComputer-AssistedIntervention 2. http://www.letpub.com.cn/index.php?pagejournalapp&viewsearch 3. https://blog.csdn.net/weixin_44557349/article/details/120825927 https://blog.csdn.net/ret…

Vue中如何更好地封装组件?

子组件接受父组件传递的事件 1.子组件使用事件名"$emit(父组件中传递的事件名,想给父组件传递的参数(可选))" click"$emit(click)" 2.子组件使用 v-on"$listeners" 父组件&#xff1a; <template><div id"app"><myCo…

第 358 场LeetCode周赛题解

A 数组中的最大数对和 数据范围小&#xff0c;直接暴力枚举数对 class Solution { public:int mx(int x) {//返回10进制表示的数的最大数字int res 0;for (; x; x / 10)res max(res, x % 10);return res;}int maxSum(vector<int> &nums) {int n nums.size();int r…

3.2 Tomcat基础

1. Tomcat概述 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器。 Tomcat版本&#xff1a;apache-tomcat-8.5.76。 2.IDEA集成Tomcat 第一步 第二步 第三步 ​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff0…

PyQt5组件之QLabel显示图像和视频

目录 一、显示图像和视频 1、显示图像 2、显示视频 二、QtDesigner 窗口简单介绍 三、相关函数 1、打开本地图片 2、保存图片到本地 3、打开文件夹 4、打开本地文本文件并显示 5、保存文本到本地 6、关联函数 7、图片 “.png” | “.jpn” Label 自适应显示 一、显…

ModaHub魔搭社区:从OpenAI实践看分工必要性,核心关注工作流相关的基础软件工具栈

从OpenAI实践看分工必要性,核心关注工作流相关的基础软件工具栈 参考海外OpenAI的率先尝试,工作流分工、点工具加持助力成功。一方面,OpenAI在《GPT-4 Technical Report》论文中[1]中披露了参与GPT 4开发的人员分工,共249人,角色分工明确,预训练、强化学习和对齐、部署等…