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 时间对象方法

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

WebAPIs 第四天_第1张图片

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
    
  • 1
  • 2
  • 3

 2.5 删除节点

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

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

 ③ 注意

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

三.M端事件

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

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

③ 常见的触屏事件

WebAPIs 第四天_第2张图片

        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的 使用




    
    
    
    Document
    
    


    
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 10

你可能感兴趣的:(JavaScript,前端学习,javascript,前端,vue.js)