首页前端开发HTMLHTML5 —— 拖放、地理位置、视频和音频的基本使用

HTML5 —— 拖放、地理位置、视频和音频的基本使用

时间2023-07-16 00:16:01发布访客分类HTML浏览1277
导读:拖放拖放(Drag 和 drop)即抓取对象以后拖到另一个位置,是 HTML5 标准的组成部分。注:使元素可拖动,把 draggable 属性设置为 trueondragstart 属性调用了一个函数,drag(event ,它规定了被拖动...

拖放

拖放(Drag 和 drop)即抓取对象以后拖到另一个位置,是 HTML5 标准的组成部分。


注:


使元素可拖动,把 draggable 属性设置为 true

ondragstart 属性调用了一个函数,drag(event),它规定了被拖动的数据。

dataTransfer.setData() 方法设置被拖数据的数据类型和值

Text 是一个 DOMString 表示要添加到 drag object 的拖动数据的类型。值是可拖动元素的 id (“drag1”)。

ondragover 事件规定在何处放置被拖动的数据。默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置要通过调用 ondragover 事件的 event.preventDefault() 方法阻止对元素的默认处理方式

当放置被拖数据时,会发生 drop 事件。

dataTransfer.getData(“Text”) 方法获得被拖的数据

把被拖元素追加到放置元素(目标元素)中

(drop 事件的默认行为是以链接形式打开)

    !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 type="text/css">

            #div1, #div2 {
    
                float:left;
     
                width:100px;
     
                height:100px;
     
                margin:10px;
    
                padding:10px;
    
                border:1px solid #aaaaaa;

            }
    
            /style>
    
    /head>
     
    body>
    
        div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
    
            img src="xxx.png" draggable="true" ondragstart="drag(event)" id="drag1" width="88" height="88">
    /div>
    
        div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)">
    /div>
    
        script>

            function allowDrop(ev) {
    
                ev.preventDefault();

            }

    
            function drag(ev) {
    
                ev.dataTransfer.setData("Text",ev.target.id);

            }

    
            function drop(ev) {
    
                ev.preventDefault();
    
                let data = ev.dataTransfer.getData("Text");
    
                ev.target.appendChild(document.getElementById(data));

            }
    
        /script>
    
    /body>
    
    /html>
    

https://www.bilibili.com/video/BV1hF411N7yE?t=1.2

拖放


Geolocation(地理定位)

Geolocation API 用于获得用户的地理位置。


注:


getCurrentPosition() 方法来获得用户的位置

coords.latitude 表示十进制的纬度

coords.longitude 表示十进制数的经度

错误代码:


Permission denied - 用户不允许地理定位

Position unavailable - 无法获取当前位置

Timeout - 操作超时

    !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>
    
    /head>
    
    body>
    
        p id="demo">
    获取坐标/p>
    
        button onclick="getLocation()">
    点我/button>
    
        script>

            let x = document.getElementById("demo")
            function getLocation() {

                if(navigator.geolocation) {

                    navigator.geolocation.getCurrentPosition(showPosition, showError)
                }
 else {

                    x.innerHTML = "该浏览器不支持获取地理位置"
                }
   
            }

            function showPosition(position) {
    
                x.innerHTML = '纬度:' + position.coords.latitude + 'br>
经度:' + position.coords.longitude 
            }

            function showError(error)
            {

                switch(error.code) 
                {
    
                    case error.PERMISSION_DENIED:
                        x.innerHTML = "用户拒绝对获取地理位置的请求。"
                        break;
    
                    case error.POSITION_UNAVAILABLE:
                        x.innerHTML = "位置信息是不可用的。"
                        break;
    
                    case error.TIMEOUT:
                        x.innerHTML = "请求用户地理位置超时。"
                        break;
    
                    case error.UNKNOWN_ERROR:
                        x.innerHTML = "未知错误。"
                        break;

                }

            }
    
        /script>
    
    /body>
    
    /html>
    

位置没获取到:

百度位置:

    !DOCTYPE html>
    
    html>
    
    head>
    
        meta charset="utf-8" />
    
        title>
    /title>
    
        !--引入百度 API,"ak=" 后面一串码是密钥,最好自己申请-->
    
        script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&
    ak=7a6QKaIilZftIMmKGAFLG7QT1GLfIncg">
    /script>
    
    /head>
    
    body>
    
        
        div id="position">
    /div>
    br>
    
        input type="button" onclick="getLocation()" value="点我" />
    
        script type="text/javascript">
    
        var x = document.getElementById('position');

        function getLocation() {
    
            // 创建百度地理位置实例,代替 navigator.geolocation
            var geolocation = new BMap.Geolocation();

            geolocation.getCurrentPosition(function(e) {

                if(this.getStatus() == BMAP_STATUS_SUCCESS){
    
                    // 百度 geolocation 的经纬度属性不同,此处是 point.lat 而不是 coords.latitude
                    x.innerHTML = '纬度:' + e.point.lat + 'br/>
    经度:' + e.point.lng;

                }
 else {
    
                    x.innerHTML = 'failed' + this.getStatus();

                }

            }
    );

        }
    
        /script>
    
    /body>
    
    /html>
    

位置成功获取:

Video 视频

注:controls:向用户显示控件,比如播放按钮

    !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>
    
    /head>
    
    body>
    
        video src="xxx.mp4" width="320" height="240"  controls>
    /video>
    
    /body>
    
    /html>
    

Audio 音频

audio:音频

    !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>
    
    /head>
    
    body>
    
        audio src="xxx.mp3" width="320" height="240"  controls>
    /audio>
    
    /body>
    
    /html>
    

不积跬步无以至千里 不积小流无以成江海

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

移动开发定位技术APIHTML5

若转载请注明出处: HTML5 —— 拖放、地理位置、视频和音频的基本使用
本文地址: https://pptw.com/jishu/312734.html
带交互功能的HTML5+JS黑客帝国 HTML5 —— 初识 Canvas 画布

游客 回复需填写必要信息