• h5c3 part3


    1、drag
    1、实现拖拽的前提条件是什么? draggable="true"
    2、被拖拽元素事件 + 目标元素事件
    被拖拽元素事件:
    ondragstart 开始拖拽
    ondrag 持续拖拽
    ondragleave 鼠标离开被拖拽元素
    ondragend 鼠标松开拖拽结束
    目标元素事件:
    ondragenter 进入目标元素事件
    ondrop (结束:阻止浏览器默认行为) 结束拖拽
    ondragleave 离开目标元素
    ondragover (持续拖拽) 持续拖拽


    任意元素拖拽:只需要触发三个事件即可 ondragstart+ondragover+ondrop
    e.dataTransfer.setData || e.dataTransfer.getData
    ondragstart 存储数据:存储的是被拖拽元素的id e.dataTransfer.setData
    ondrop 获取刚才存储的id e.dataTransfer.getData=====通过id找到这个元素然后进行添加


    2、sessionStorage && localStorage
    sessionStorage:
    1、存储大小:5M
    2、生命周期
    a.同一个浏览器不同的窗口数据不能共享
    b.不同浏览器数据不能共享
    c.关闭浏览器数据不存在(关闭当前页面数据也是不存在)

    d.数据是存储在当前页面的
    e.存储的类型为字符串
    3、方法的使用
    window.sessionStorage.setItem("key","value")
    window.sessionStorage.getItem("key")
    window.sessionStorage.removeItem("key")

    localStorage
    1、存储大小:20M
    2、生命周期
    1、关闭窗口数据还存在,不同窗口数据可以共享
    2、数据是存储在硬盘上,如果想删除必须认为删除


    JSON.stringify(arr2) =========将数组转换成字符串 原理就是在数组身上打上一个引号
    JSON.parse(arr3) ==============将字符串转换成数组对象 原理是把引号去掉

    3、audio||video 提供属性+方法+事件都是原生的 只能使用dom操作


    步骤分析:
    1、点击播放按钮
    2、全屏

    3、oncanplay 视频可以播放就执行
    a.video.style.display=block
    b、获取视频的总时长 : video.duration
    c、通过获取的总时长计算出:时分秒
    d、将时分秒渲染在页面上

    4、ontimeupdate 视频在播放或者视频播放时间在改变
    a.获取当前视频的播放时间:video.currentTime
    b.通过获取的视频的播放时间计算出:时分秒
    c.将时分秒渲染在页面上
    d.计算播放进度的宽度=video.currentTime/video.duration *100+ "%"

    5、跳播
    1、获取当前点击处的偏移值 需要使用事件源参数
    2、计算百分比=当前点击处的偏移值/当前盒子(.bar)的总宽度
    3、计算当前视屏播放时间(video.currentTime)=百分比*视屏总时长

    6、onended 视屏一播放完毕就触发
    1、播放变成暂停
    2、设置当前播放时间为 0 video.currentTime=0;

  • 相关阅读:
    go.mod
    数据库工具Navicat 更换(null)数据
    Debian 开启 BBR 算法
    @BeforeTest、@BeforeSuit等注解的区别
    推荐一个不错的非常漂亮的天气预报网站:tianqi.ipip5.com
    一条sql语句完成MySQL去重留保留一条记录
    php随机打乱数组顺序保留键值(php对数组洗牌算法实现)
    推荐一个不错的汉字笔顺查询网站https://bishun.ipip5.com
    使用NSSM把.Net Core部署至 Windows 服务
    通过 .NET NativeAOT 实现用户体验升级
  • 原文地址:https://www.cnblogs.com/noraZhang/p/10044651.html
Copyright © 2020-2023  润新知