拖放

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

在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。

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

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

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

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title></title>
   <style type="text/css">
      div{width: 200px;height: 100px;border: 1px solid black;float: left;text-align: center;padding-top: 30px;}
   </style>
</head>
<body>
   <div id="div1"><img id="img" src="w3school_logo_black.gif" draggable="true"></div>
   <div id="div2"></div>

</body>
<script type="text/javascript">
      var div1=document.getElementById("div1");
      var div2=document.getElementById("div2");
      var img=document.getElementById("img");

div1.ondragover=function(e){
        e.preventDefault(); //来避免浏览器对数据的默认处理

}

div1.ondrop=function(){
         div1.appendChild(img);  //将图片添加到DIV1
       }

div2.ondragover=function(e){
         e.preventDefault();   //来避免浏览器对数据的默认处理
    }

div2.ondrop=function(){
        div2.appendChild(img);   //将图片添加到DIV2
 }

</script>
</html>

canvas 元素用于在网页上绘制图形。

canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
   *{
        padding:0;
        margin:0;
     }
body{
        text-align: center;
       }
#canvas{
         border:1px solid red;
        }
</style>
</head>
<body>
          <h1>测试Canvas</h1>

<canvas id="canvas" width="1000" height="500">不支持Canvas</canvas> //创建一个画布,并设置大小
</body>
<script>

var canvas = document.getElementById("canvas");  //设置画布
          var context = canvas.getContext("2d");   //设置画笔
          drawRect();
  function drawRect(){

for(var i = 0;i < 20;i++){  //循环19次

context.strokeStyle = "rgb("+generateCode(256)+","+generateCode(256)+","+generateCode(256)+")"; //循环设置边框的颜色
                context.strokeRect(500-i*10,250-i*10,10+20*i,10+20*i);   //循环设置矩形的位置和大小
              }

}
function generateCode(num){
            var random = parseInt(Math.random() * num);  //设置一个随机数
             return random;
}
</script>
</html>

htm5拖放和画布的更多相关文章

  1. 面试题<初级>

    INTERVIEW .markdown-body ul pre code { background:red; font-size:40px; } @code-char:"```" ...

  2. 分享第一次使用ProcessOn心得

    最近朋友推荐了我一款在线作图工具ProcessOn,感受使用了几天感觉确实很不错,在这里给大家分享一下! ProcessOn应该算的上是第一款完全免费在线作图工具,之前用过国外有类似的,不过都是付费的 ...

  3. Principle-初步认识(简介)

    Principle官网 探究了一下 . 呃--作出了下边这玩意 做的好的是这样的,瞬间把自己给菜了,给大家看看,设计需要UI功夫啊 把这个用上你的界面就搞基了,图形在水平.垂直上的动态效果(*.*) ...

  4. ADT工具使用详解

    备注:一下内容为本人手工翻译官方文档注解,如有翻译不到位的地方,欢迎批评指正; ADT(Android开发工具)是Eclipse的插件,它提供了一套与Eclipse IDE集成的工具.它可以让您访问许 ...

  5. AxureRP8实战手册

    基础操作篇 本篇包含56种常见的基础操作,初学者应在掌握本篇内容后再进行实战案例篇的学习,以免产生学习障碍.同时,建议具备一定基础的读者学习本篇中相对生疏的内容,并加以掌握. 第1章 使用元件 本文目 ...

  6. Orange的数据挖掘工具入门使用

    Orange的数据挖掘工具入门使用 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系作者bitpeach ...

  7. IOS开发入门实例

    关于如何创建第一个 iOS 应用 本篇“第一个 iOS 应用”教程将向你介绍 iOS 应用开发中的“三个T”: Tools(工具)如何利用 Xcode 创建和管理工程. Technologies(技术 ...

  8. HTML5 课程

    http://www.w3school.com.cn/html5/html_5_geolocation.asp HTML5 教程 HTML5 教程 HTML5 简单介绍 HTML5 视频 HTML5 ...

  9. 不知如何创建UML电路图?看看本文

    Visual Paradigm是包含设计共享.线框图和数据库设计新特性的企业项目设计工具.现在你只需要这样单独的一款模型软件 Visual Paradigm就可以完成用UML设计软件,用BPMN去执行 ...

随机推荐

  1. 20170515-20170523学习计划---学习java(1)

    背景: 组内搞了一个读书会,我是负责人,我们学习的主题是java,为了更好服务读书会,所以安排一下学习计划,到时候在读书会上做分享. 这是第二次读书会,第一次讲了java的一些基本知识,这次只要学习对 ...

  2. Charles Proxy 4.1.2 破解版

    下载Charles Proxy 4.1.2版本,百度云盘下载 或 去官网下载 安装后先打开Charles一次(Windows版可以忽略此步骤) 在这个网站(http://charles.iiilab. ...

  3. js事件小结

    首先事件绑定分为2种方法 一种为"DOM0级"方法,这里我理解为事件指定 var oDiv = document.getElementById("div1"); ...

  4. javascript获取json对象的key名称的两种方法

    javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常 ...

  5. ORACLE中死锁的知识点总结

      死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子. 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包装后,一个抢了枪, 一个逮住了子 ...

  6. 【转载】C/C++中的char,wchar,TCHAR

    点击这里查看原文章 总体简介:由于字符编码的不同,在C++中有三种对于字符类型:char, wchar_t , TCHAR.其实TCHAR不能算作一种类型,他紧紧是一个宏.我们都知道,宏在预编译的时候 ...

  7. 全景智慧城市常诚——一个实体商家“自剖”VR全景的势在必得

    谈起"智慧城市",你的心中是否充满了期待?随着互联网的发展,人们对于"智慧城市"的需求越来越迫切.现在想想,我也算是首批入驻全景智慧城市的商家之一了.在各种连锁 ...

  8. 纯CSS3向右循环闪过效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  9. Java经典编程题50道之二十

    有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. public class Example20 {    public static void ma ...

  10. iOS11和机器学习CoreML库

    随着iOS11的发布,苹果公司也正式加入了机器学习的战场.在新的iOS11中内置了CoreML,虽然还是Beta版本,但是功能已经非常强大了. 在这个CoreML库里面,已经集成了一些训练好的模型,可 ...