前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HMTL5新增Api

HMTL5新增Api

作者头像
切图仔
发布2022-09-08 17:13:36
4770
发布2022-09-08 17:13:36
举报
文章被收录于专栏:生如夏花绚烂
网络状态检测
代码语言:javascript
复制
  //网络连接
        window.addEventListener('online',function(){
           alert('有网')
       })
       window.addEventListener('offline',function(){
           alert('网络断开')
       })
全屏与取消全屏
代码语言:javascript
复制
      /**
       * 全屏显示 webkit moz o ms
       * Node.webkitrequestFullScreen()
      */
     var img = document.querySelector('img')
     var full = document.querySelector('#full')
     full.onclick = function(){
        // img.webkitRequestFullScreen();
        if(img.requestFullScreen){
            img.requestFullScreen()
        } else if (img.webkitRequestFullScreen){
            img.webkitRequestFullScreen() //webkit 
        } else if (img.mozRequestFullScreen){
            img.mozRequestFullScreen() //moz
        } else if (img.msRequestFullscreen){
            img.msRequestFullscreen() //ms 
         
        }else if (img.oRequestFullScreen){
            img.oRequestFullScreen()
        }else{
            alert('您的浏览器不支持全屏')
        }
     }
         //取消全屏Api 与全屏一样需要添加浏览器前缀
         //CancelFullScreen()
     //document.CancelFullScreen()
         
         //伪类选择器
          /**
      * 是否全屏
      * document.IsfullScreen  //true/false
      * 全屏伪类选择器 浏览器前缀 
      * div:-webkit-full-screen{
      * }
      * 
      * /
文件读取

案例图片上传预览

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="file" multiple>
    <img src="" alt="">
    <script>
        var file = document.querySelector('input')
        var img  = document.querySelector('img')
        file.onchange = function(){
            console.log(this.files)
            //初始化render对象 
            var render = new FileReader()

            //读取this.files[0]的内容
            render.readAsDataURL(this.files[0])

            //文件内容读取完毕后存储到this.result中
            render.onload = function(){
                img.src = this.result
            }
        }
    </script>
</body>
</html>
拖拽

相关事件

拖动源对象相关事件 ondragstart:源对象开始被拖动 ondrag:源对象在拖动过程中 ondragend:源对象被拖动结束

拖动源对象可以进入到上方的目标对象可以触发的事件 ondragenter:目标对象被源对象拖动着进入 ondragover:目标对象被源对象拖动着悬停在上方 ondragleave:源对象拖动着离开了目标对象 ondrop:源对象拖动着在目标对象上释放

案例

html结构

代码语言:javascript
复制
 <div class="one">
        <h6 id="one" draggable="true">one</h6>
        <h6 id="two" draggable="true">two</h6>
        <h6 id="three" draggable="true">three</h6>
        <h6 id="four" draggable="true">four</h6>
    </div>
    <div class="two"></div>
    <div class="three"></div>

js

代码语言:javascript
复制
 document.ondragstart = function(e){
            console.log('源对象开始被拖动')
            //拖拽的时候存储数据 --- 拖拽的对象id
            e.dataTransfer.setData('text/html',e.target.id)
        }
        document.ondrag = function(){
            console.log('源对象被拖中')
        }
        document.ondragend = function(){
            console.log('源对象拖动结束')
        }
        //找到目标对象 设置释放效果
        
        document.ondragenter = function(){
            console.log('源对象拖动进入目标对象')
        }

        document.ondragover = function(e){
            console.log('源对象悬停在目标对象上方')
            return false //清除默认事件 
        }
        document.ondragleave = function(){e
            console.log('源对象从目标对象离开')
        }
        document.ondrop = function(e){
            console.log('源对象释放在目标对象')
            //获取dataTransfer里面的数据
            var id = e.dataTransfer.getData('text/html');
            e.target.appendChild(document.getElementById(id))
        }

效果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网络状态检测
  • 全屏与取消全屏
  • 文件读取
  • 拖拽
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档