zoukankan      html  css  js  c++  java
  • html5(二)

    h5拖拽

    拖放是一种常见的特性,即抓取对象以后拖到另一个位置。

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

    ondragover 事件规定在何处放置被拖动的数据。

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

    ondragstart 属性调用了一个函数它规定了被拖动的数据。

    <style>
    #box {
       500px;
      height: 500px;
      border: 2px solid green;
    }

    #img {
       400px;
      height: 300px;
      background-color: red;
    }
    </style>

    <body>
    <div id="box" ondrop="ready(event)" ondragover="end(event)"></div>
    <!-- <img src="../timg (1).jfif" width="200px" height="180px" ondragstart="start(event)" id="img"> -->
    <div ondragstart="start(event)" id="img"><video src="../movie.ogv" controls></video></div>
    </body>

    var box = document.getElementById("box")
    // 开始拖拽
    function start(event) {
      event.dataTransfer.setData("x", event.target.id);
    }

    //准备放下
    function ready(event) {
      event.preventDefault();
      var data = event.dataTransfer.getData("x");
      box.appendChild(document.getElementById(data));
    }

    //放下
    function end(event) {
      event.preventDefault();
    }

    web存储

    localStorage    长久保存网站数据,需手动删除

    sessionStorage  暂时存储,关闭自动删除

    保存数据:localStorage.setItem(key,value);

    读取数据:localStorage.getItem(key);

    删除单个数据:localStorage.removeItem(key);

    删除所有数据:localStorage.clear();

    得到某个索引的key:localStorage.key(index);

    localStorage和sessionStorage、cookies的区别

    localStorage:localStorage 的生命周期是永久的,关闭页面或浏览器之后 localStorage中的数据也不会消失。
    localStorage 除非主动删除数据,否则数据永远不会消失I sessionStorage:sessionStorage的生命周期是仅在当前会话下有效。
    cookie:cookie生命期为只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
    存放数据大小为4K左右,有个数限制(各浏览器不同),一般不能超过20个。
    缺点是不能储存大数据且不易读取

    canvas

     1 <body>
     2     <canvas id="myCanvas" width="400" height="400" style="border:1px solid red"></canvas>
     3 </body>
     4 <script>
     5     var c = document.getElementById('myCanvas');
     6     var ctx = c.getContext("2d");
     7     // 红色矩形
     8     ctx.beginPath()
     9     ctx.fillstyle = "#FF0000";
    10     ctx.fillRect(0, 0, 150, 75);
    11     // 路径
    12     ctx.beginPath()
    13     ctx.moveTo(0, 0);
    14     ctx.lineTo(200, 100);
    15     ctx.strokeStyle = "red";
    16     ctx.stroke();
    17     // 三角形
    18     ctx.beginPath()
    19     ctx.moveTo(10, 10);
    20     ctx.lineTo(50, 50);
    21     ctx.lineTo(10, 50);
    22     ctx.lineTo(10, 10);
    23     ctx.stroke();
    24     // 创建渐变
    25     var grd = ctx.createLinearGradient(100, 150, 200, 30);
    26     grd.addColorStop(0, "red");
    27     grd.addColorStop(1, "blue");
    28     // 字
    29     ctx.beginPath();
    30     ctx.font = "30px Arial";
    31     ctx.fillStyle = grd;
    32     ctx.fillText("Hello World", 100, 150);
    33     ctx.fill();
    34     // 圆
    35     ctx.beginPath();
    36     ctx.fillStyle = 'black';
    37     ctx.arc(250, 250, 50, 0, 2 * Math.PI, true);
    38     ctx.fill();
    39 </script>
  • 相关阅读:
    getElementById返回的是什么?串讲HTML DOM
    DIV+CSS布局问题:一个宽度不确定的DIV里面放三个水平对齐的DIV,左右两个DIV宽度固定为150px,中间那个DIV充满剩余的宽度
    原生JavaScript拖动div兼容多种浏览器
    java一切乱码的解释 以及源头【转】
    java编码问题深入总结
    三菱Q系列PLC基本指令讲解
    三菱Q系列PLC的io分配
    linux函数的阻塞与非阻塞IO及错误处理
    linux系统编程之文件IO
    linux命令(shell)
  • 原文地址:https://www.cnblogs.com/cxyll990414/p/13527237.html
Copyright © 2011-2022 走看看