HTML5基础2

  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. 图解
  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值