htm5拖放和画布

拖放

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

在 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>

时间: 2024-08-11 09:50:53

htm5拖放和画布的相关文章

HTML5 课程

http://www.w3school.com.cn/html5/html_5_geolocation.asp HTML5 教程 HTML5 教程 HTML5 简单介绍 HTML5 视频 HTML5 视频/DOM HTML5 音频 HTML5 拖放 HTML5 画布 HTML5 SVG HTML5 画布 vs SVG HTML5 地理定位 HTML5 Web 存储 HTML5 应用缓存 HTML5 Web Workers HTML5 server发送事件 HTML5 表单 HTML5 输入类型

微软云计算介绍与实践(实践之二十二)

创建私有云Runbook 小张目前是手动管理大量(由晓红申请)的私有云.而自动化是私有云的重要特点,所以小张想用自动化功能去完成很多简单机械的任务.小张决定设法实现这一目标,利用System Center 2012 Orchestrator.于是我们看到了下面的内容: 1.登录到Orchestrator服务器Orchestrator 2.打开Runbook设计 3.在左边的连接下,在运行手册单击鼠标右键并选择New...>文件夹 4.给新文件夹的名称,例如CloudResources 5.在新创

15个优秀响应Web设计测试工具

Web测试工具是非常必要的响应网页设计过程的一部分.与网页设计测试工具的使用,你会检查网站错误,很容易找到的. 当你看到一个网站,您将使用web设计测试工具来检查你的网站如何反应不同的屏幕分辨率和浏览器大小.响应web测试工具允许你的网站显示图片和内容在不同的设备上,提供良好的用户体验. 优秀的响应Web设计测试工具收集如下 在本文中,我们想收集15个最佳响应web设计测试工具,找出一个网站的响应能力 Viewport Resizer Viewport resizer 是一个基于浏览器的工具来测

IOS开发入门实例

关于如何创建第一个 iOS 应用 本篇“第一个 iOS 应用”教程将向你介绍 iOS 应用开发中的“三个T”: Tools(工具)如何利用 Xcode 创建和管理工程. Technologies(技术)如何创建能够响应用户输入的应用. Techniques(技巧)如何充分利用 iOS 应用开发的基础设计模式. 当你完成本教程的所有步骤之后,你的应用看起来会和下边图中的差不多: 从图中可以看到,你创建的应用界面上有三个主要的元素: 一个文本框(用户把文字输入到这里) 一个标签(这里可以用来显示信息

【VMCloud云平台】SCO(五)制作流程(一)

上一篇,我们创建了一些变量及日程安排,接下来我们将开始流程的制作,在这篇中你将了解到上一篇准备步骤将具体用在哪里.(下图红色为部署中,紫色为实施完成,蓝色为计划中): 1. 首先我们在SCO01的C盘根目录下创建一个文件夹Test并在文件夹下创建Test.txt文件,并且赋权只给Administrator读写: 2. 接着,我们回到SCO01上,打开SCO Designer,在根目录上右键新建Runbook,并在右侧工作栏里展开日程安排: 3. 将检测日程安排拖放到画布中,作为我们流程的第一个组

笔记之_java整理html5

查看手机唯一标识:http://html5plus.org/doc/zh_cn/device.html#plus.device.uuid html和html5的区别? html5+css3也逐渐的成为新一代web前端技术,最要用处在开发手机网站. 文档网站:http://www.w3school.com.cn/html5/index.asp HTML5的新功能 (1).强大的绘图功能 (2).新增音频/视频标签 (3).浏览器离线存储 (4).通过浏览器进行定位 外网连接局域网的项目:花生壳?内

使用fabricjs实现图形编辑器

一.fabricjs的引用 1.可以直接通过script引入 2.通过npm安装 1)npm install fabricjs 2)在需要使用的地方导入  import { fabric } from 'fabric' 然后就可以使用fabric来对canvas画布进行图形的编辑 二.fabricjs的使用 1.将图层从外部拖入画布中 .设置元素为可拖放,将draggable属性设置为true .dataTransfer.setData() 是用于设置拖动数据的数据类型和值,第一个参数一般都是为

想要创建电路图?用这个工具就可以了!

想要创建电路图? 我们将为您提供电路图介绍,并告诉您如何使用我们的电路图软件创建电路图. 什么是电路图? 电路图(又名基本图,电气图或电子原理图)是电路的可视化. 它显示了电路中组件之间的流量和关系. 电路图还可视化导线的物理布置以及在不同电子系统中连接它们的组件. 电路图的目的 电路图是作为电路设计的蓝图而创建的. 电路图提供了电路中所有组件的物理排列以及它们之间的导线关系的图形表示. 技术人员创建电路图作为实现电路设计或通信的指南. 了解电路图 电路图是图形可视化电路. 它提供了一个示意图,

如何创建维恩图,用这个工具就可以了!

Visual Paradigm是包含设计共享.线框图和数据库设计新特性的企业项目设计工具.本期教程我们将为您介绍维恩图,并告诉您如何使用我们的维恩图软件创建维恩图.什么是维恩图? 维恩图,也称为主图,逻辑图或集图,广泛用于数学,统计,逻辑,计算机科学和商业分析,用于表示两组或更多组数据之间的逻辑关系. 维恩图涉及重叠的圆圈,它们展示了事物的组织方式,共性和差异.维恩图的目的: 维恩图有效地显示多个数据集(通常是两到四个)之间的相似性或差异. 维恩图还描述了统一多个数据组的结果. 他们还可以描述两