首页 前端知识 HTML5基础2

HTML5基础2

2024-06-07 23:06:19 前端知识 前端哥 309 879 我要收藏
  1. drag
    1. 可以把拖放事件拆分成4个步骤

      1. 设置元素为可拖放。为了使元素可拖动,把 draggable 属性设置为 true 。

        <img draggable="true">
        复制
      2. 拖动什么。ondragstart 和 setData()

        const dragestart = (ev)=>{
        ev.dataTransfer.setData('play',ev.target.id)
        }
        复制
      3. 放到何处 - ondragover

        const dragover = (ev)=>{
        ev.preventDefault();
        }
        复制
      4. 进行放置 - ondrop

        const drop = (ev)=>{
        ev.preventDefault();
        let data = ev.dataTransfer.getData('play')
        ev.target.appendChild(document.getElementById(data))
        }
        复制
      5. 完整示例

        <!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>
        <div id="div1" style="width: 400px;height: 500px;border:1px solid black;" ondragover="dragover(event)"
        ondrop="drop(event)"></div>
        <img src="../images/lightoff.png" id="img1" style="width: 200px;height: 300px;" alt="" draggable="true"
        ondragstart="dragestart(event)"
        >
        </body>
        <script>
        const dragestart = (ev)=>{
        ev.dataTransfer.setData('play',ev.target.id)
        console.log()
        }
        const dragover = (ev)=>{
        ev.preventDefault();
        }
        const drop = (ev)=>{
        ev.preventDefault();
        let data = ev.dataTransfer.getData('play')
        ev.target.appendChild(document.getElementById(data))
        }
        </script>
        </html>
        复制
  2. 地图
    1. 引入百度api
    2. 获取地图对象
    3. 调用方法
    4. 返回信息
    5. 示例
      <!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>
      <input type="button" onclick="getLocation()" value="确认" />
      <div id="position"></div>
      </body>
      <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>
      </html>
      复制
  3. datalist
    1. HTML5新增标签 用于input/form
    2. 示例
      <!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 list="browsers">
      <datalist id="browsers">
      <option value="Internet Explorer">
      <option value="Firefox">
      <option value="Chrome">
      <option value="Opera">
      <option value="Safari">
      </datalist>
      </body>
      </html>
      复制
  4. localStorage和sessionStorage
    1. localStorage只要在相同的协议、相同的主机名、相同的端口下,就能读取/修改到同一份localStorage数据。
    2. sessionStorage比localStorage更严苛一点,除了协议、主机名、端口外,还要求在同一窗口(也就是浏览器的标签页)下。
    3. 图解
转载请注明出处或者链接地址:https://www.qianduange.cn//article/11391.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!