前端学习笔记-Web APls篇-04

server/2024/11/14 12:40:55/

Dom节点&移动端滑动

1.日期对象

日期对象:用来表示时间的对象
作用:可以得到当前系统时间

1.1实例化

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

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

获得当前时间

获得指定时间

1.2时间对象方法

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

案例:

获得当前的时间:

法一:

<!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><style>div {width: 300px;height: 40px;border: 1px solid pink;text-align: center;line-height: 40px;}</style>
</head><body><div></div><script>const div = document.querySelector('div')function getMyDate() {const date = new Date()let h = date.getHours()let m = date.getMinutes()let s = date.getSeconds()h = h < 10 ? '0' + h : hm = m < 10 ? '0' + m : ms = s < 10 ? '0' + s : sreturn `今天是: ${date.getFullYear()}年${date.getMonth() + 1}月${date.getDate()}号 ${h}:${m}:${s}`}div.innerHTML = getMyDate()setInterval(function () {div.innerHTML = getMyDate()}, 1000)</script>
</body></html>

法二:

 

<!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><style>div {width: 300px;height: 40px;border: 1px solid pink;text-align: center;line-height: 40px;}</style>
</head><body><div></div><script>const div = document.querySelector('div')// 得到日期对象const date = new Date()div.innerHTML = date.toLocaleString()  // 2022/4/1 09:41:21setInterval(function () {const date = new Date()div.innerHTML = date.toLocaleString()  // 2022/4/1 09:41:21}, 1000)// div.innerHTML = date.toLocaleDateString()  // 2022/4/1// div.innerHTML = date.toLocaleTimeString()  // 2022/4/1</script>
</body></html>


1.3时间戳

使用场景:如果计算倒计时效果,前面方法无法直接计算,需要借助于时间戳完成

什么是时间戳:

是指1970年01月01日00时00分00秒起至现在的毫秒数,它是一种特殊的计量时间的方式

算法:

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

三种方式获取时间戳:

1. 使用 getTime() 方法

2. 简写 +new Date()

3. 使用 Date.now()

无需实例化

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

1.实例化日期对象怎么写?

new Date()

2. 日期对象方法里面月份和星期有什么注意的?

月份是0~11, 星期是 0~6

3. 获取时间戳有哪三种方式?重点记住那个?

date.getTime()        +new Date()         Date.now()

重点记住 +new Date() 因为可以返回当前时间戳或者指定的 时间戳 

案例:

 APIs-day4-118-倒计时案例的制作_哔哩哔哩_bilibili


2.节点操作

2.1DOM 节点

DOM节点

DOM树里每一个内容都称之为节点

节点类型

  • 元素节点【所有的标签 比如 body、 div ; html 是根节点】
  • 属性节点【所有的属性 比如 href 】
  • 文本节点【 所有的文本 】
  • 其他

2.2查找节点

关闭二维码案例: 点击关闭按钮, 关闭的是二维码的盒子, 还要获取erweima盒子

思考: 关闭按钮 和 erweima 是父子关系,所以,点击关闭按钮, 直接关闭它的爸爸,就无需获取erweima元素了

节点关系:针对的找亲戚返回的都是对象

父节点         子节点         兄弟节点

父节点查找
  1. parentNode 属性
  2. 返回最近一级的父节点 找不到返回为null

子节点查找 

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

children 属性 (重点) 【仅获得所有元素节点,返回的还是一个伪数组】

 兄弟关系查找

1. 下一个兄弟节点 【 nextElementSibling 属性】

2. 上一个兄弟节点 【previousElementSibling 属性】


2.3增加节点

很多情况下,我们需要在页面中增加元素,比如,点击发布按钮,可以新增一条信息 ,一般情况下,我们新增节点,按照如下操作:创建一个新的节点,把创建的新的节点放入到指定的元素内部。

1.创建节点,即创造出一个新的网页元素,再添加到网页内,一般先创建节点,然后插入节点

创建元素节点方法:

2.追加节点,要想在界面看到,还得插入到某个父元素中

插入到父元素的最后一个子元素:

插入到父元素中某个子元素的前面 

特殊情况下,我们新增节点,按照如下操作:

复制一个原有的节点,把复制的节点放入到指定的元素内部

克隆节点

  • cloneNode会克隆出一个跟原标签一样的元素,括号内传入布尔值
  • 若为true,则代表克隆时会包含后代节点一起克隆
  • 若为false,则代表克隆时不包含后代节点
  • 默认为false 


2.4删除节点 

若一个节点在页面中已不需要时,可以删除它

在 JavaScript 原生DOM操作中,要删除元素必须通过父元素删除

语法:

注:

如不存在父子关系则删除不成功 【必须是父删子】

删除节点和隐藏节点(display:none) 有区别的: 隐藏节点还是存在的,但是删除,则从html中删除节点 


3.M端事件

移动端也有自己独特的地方。比如触屏事件 touch(也称触摸事件),Android 和 IOS 都有。

触屏事件 touch(也称触摸事件),Android 和 IOS 都有。

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

常见的触屏事件如下


4.JS插件

插件: 就是别人写好的一些代码,我们只需要复制对应的代码,就可以直接实现对应的效果

学习插件的基本过程

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


5.综合案例

APIs-day4-124-今日综合案例-学生信息表上集_哔哩哔哩_bilibili

APIs-day4-125-今日综合案例-学生信息表下集_哔哩哔哩_bilibili

说明:

尽量减少dom操作,采取操作数据的形式

增加和删除都是针对于数组的操作,然后根据数组数据渲染页面 

核心思路:

①: 声明一个空的数组

②: 点击录入,根据相关数据,生成对象,追加到数组里面

③: 根据数组数据渲染页面-表格的 行

④: 点击删除按钮,删除的是对应数组里面的数据

⑤: 再次根据数组的数据,渲染页面


http://www.ppmy.cn/server/113209.html

相关文章

Leetcode面试经典150题-207.课程表

这个题是图的问题&#xff0c;因为图的拓扑排序在实际应用中有非常多的用途图&#xff0c;所以最近考的越来越多 解法都在代码里&#xff0c;不懂就留言或者私信 class Solution {static class Course {/**可成的入度&#xff0c;就是它依赖的课程数 */int in;/**课程的编号 …

学习大数据DAY51 Docker 的介绍与使用

目录 01 Docker 介绍 在安装部署程序服务过程种存在的问题 docker 容器技术和 vmware 的比较 什么是虚拟化技术 docker 的本质 docker 容器技术的发展 docker 容器技术的优势 02 docker 组件 docker 核心组件 docker 扩展组件 03 docker 的使用 docker 安装 Docker…

【LeetCode】12.整数转罗马数字

题目要求 解题思路 这道题最简单的方法就是枚举&#xff0c;因为他的范围是0——3999。因此我们使用枚举 代码实现 class Solution { public:string intToRoman(int num) {//范围是[0,3999)string thousand[]{"","M","MM","MMM"};…

ubuntu如何限制三指手势操作

在ubuntu上如果用触摸三指操作会切换当前工作区域&#xff0c;使得当前活跃的应用失去焦点&#xff0c;如果是希望做成kiosk模式的应用就会很尴尬。 什么是kiosk模式 就是把设备或应用锁定为一种单一的、受限的环境&#xff0c;例如你做的应用希望全屏&#xff0c;不允许用户切…

Java面向对象与多态

目录 Java面向对象与多态 多态介绍 形成多态的前提 多态下成员访问的特点 成员变量 成员方法 访问特点总结 多态对比普通继承 普通继承优点与缺点 多态优点与缺点 向上转型与向下转型 向下转型存在的问题 多态接口练习 Java面向对象与多态 多态介绍 在前面学习到…

docker images

docker 装好docker之后&#xff0c;先掌握一下docker启动与停止 docker启动关闭状态 systemctl 命令是系统服务管理器指令&#xff0c;它是 service 和 chkconfig 两个命令组合。 查看 docker 的启动状态 systemctl status docker关闭 docker systemctl stop docker启动 …

Axure打造科技感数据可视化大屏原型

在数字化浪潮的推动下&#xff0c;数据已成为企业决策不可或缺的核心驱动力。面对海量且复杂的数据集&#xff0c;如何高效解读并转化为洞见&#xff0c;是企业面临的重大挑战。数据可视化&#xff0c;尤其是科技感十足的大屏展示&#xff0c;不仅为企业提供了直观的数据洞察&a…

Centos7安装RabbitMQ

文章目录 Centos7安装RabbitMQ第一步、安装任何软件包之前&#xff0c;建议使用以下命令更新软件包和存储库第二步、Erlang在默认的YUM存储库中不可用&#xff0c;因此您将需要安装EPEL存储库第三步、RabbitMQ是基于Erlang&#xff08;面向高并发的语言&#xff09;语言开发&am…