HTML5拖拽学习,canvas画布,

#拖拽学习要点

- draggable

- ondragstart="drag(event)"

- ondrop="drop(event)"

- ondragover="fun2(event)"

- dataTransfer

- preventDefault

###draggable

主要用false或者true来设置文本或者图片是否可以在页面拖拽

###ondragstart

主要在文本或者图片要拖拽的区域绑定事件,将event对象传过去--开始进行拖拽

function start(e){

e.dataTransfer.setData("Text",e.target.id);

}

###ondrop

主要用于绑定事件到你想拖拽到你想要的div里面或者是其他标签里面(同样要将event对象传过去)

function drop(e){

var data = e.dataTransfer.getData("Text");

e.target.appendChild(document.getElementById(data));

e.preventDefault();

}

###ondragover

主要用于拖拽完毕后的绑定事件

function over(e){

e.preventDefault();

}

###dataTransfer

主要用于把需要拖拽的文本或者图片向拖放区传递数据的时候用,后面有以下属性:

(setData)当前要拖拽的数据 (getData)把准备需要拖拽的数据返回到要放到的地方

###preventDefault

preventDefault(); 阻止浏览器默认行为

利用画布绘制矩形

//获取canvas对象

var canvas1=document.getElementById("first");

//给canvas插入画笔

var cxt=canvas1.getContext("2d")

//准备绘制颜色

cxt.fillStyle="red"

//填充矩形:里面的4个参数分别为,X和Y轴放的位置,W和H设置矩形宽高;

cxt.fillRect(0,0,100,100)

两个矩形重叠

cxt.fillStyle="red"

cxt.fillRect(0,0,100,100)

cxt.fillStyle="blue"

cxt.fillRect(60,60,100,100)

每画一个矩形或者其他什么形状都需要在设置一下两个方法

> cxt.beginPath();  //开始绘制

> cxt.closePath();  //结束绘制

cxt.fillStyle = "#1CA919";

cxt.beginPath();

cxt.fillRect(80,105,120,85);

cxt.closePath();

背景渐变

var my_gradient=cxt.createLinearGradient(0,0,0,300);

my_gradient.addColorStop(0,"#6D76FA");

my_gradient.addColorStop(0.5,"white")

my_gradient.addColorStop(1,"#A4C9FA");

cxt.fillStyle=my_gradient;

cxt.fillRect(0,0,1000,400);

字体渐变

cxt.font="40px Verdana";

var gradient=cxt.createLinearGradient(0,0,170,0);

gradient.addColorStop("0","#A4C9FA");

gradient.addColorStop("0.5","white");

gradient.addColorStop("1.0","blue");

cxt.strokeStyle=gradient;

cxt.strokeText("书中只有黄金屋",20,100);

图片展示

var img=new Image();

img.src="20664369-1_b.jpg";

img.onload = function()

{

cxt.drawImage(img,550,80,200,200);

}

图片剪切

var img=new Image();

var img1=new Image();

img.src=‘20664369-1_b.jpg‘;

img.onload=function(){

cxt.drawImage(img,28,0,145,200,5,10,200,200);

}

img1.onload=function(){

cxt.drawImage(img1,30,0,140,193,200,205,200,200);

}

矩形旋转

ctx.fillStyle="yellow";

ctx.fillRect(0,0,250,100);

ctx.setTransform(1,0.5,-0.5,1,30,10);

矩形缩放

ctx.strokeRect(5,5,25,15); ctx.scale(2,2);

ctx.strokeRect(5,5,25,15); ctx.scale(2,2);

ctx.strokeRect(5,5,25,15); ctx.scale(2,2);

ctx.strokeRect(5,5,25,15);

>save()的意思是保存之前的状态,restore()之后就回到你save的那个时候的状态

时间: 2024-10-11 09:13:48

HTML5拖拽学习,canvas画布,的相关文章

每天一个JavaScript实例-html5拖拽

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-html5拖拽</title> <style> #drop{ width:300px; height:200px; background-

Java实现HTML5拖拽文件上传

这是主页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+reques

html5 拖拽的简要介绍

1,首先,你要告诉计算机那个元素可以拖动,或者是一张图,或者是一个盒子,在标签里面加上 draggable="true"  2,然后,监听该元素被拖动的函数 ondragstart="drag(event)" 3,drag 里面告诉计算机是那个元素被拖动的 ev.dataTransfer.setData("Text",ev.target.id); 4,接下来将拖动的元素放到哪个盒子,(或者是经过那个盒子,经过某个盒子的时候触法 ondragove

html5拖拽-初探

先看看效果 完整测试代码: <p>Html5 拖拽</p> <div id="box" ondrop="handleDrop(event)" ondragover="allowDrop(event)"></div> <br> <img id="img1" src="images/screen1.jpg" draggable="tru

Html5拖拽复制

拖拽是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖拽是标准的一部分,任何元素都能够拖拽. Html5拖拽非常常见的一个功能,但是大部分拖拽的案例都是一个剪切的过程, 项目中需要实现Html5拖拽复制的功能,Html5拖拽复制很简单,只需要在普通Html5拖拽的过程中做一点小小的改动即可. ps: 本篇博文为非首页文章,只是简单的笔记. 浏览器支持 Internet Explorer 9 Firefox Opera 12 Chrome Safari 5 v1.0代码部分

html5 拖拽练习题

html5新的拖拽 只支持Internet Explorer 9.Firefox.Opera 12.Chrome 以及 Safari 5 支持拖放. 来一个实例: <!DOCTYPE html> <html> <head> <style type="text/css"> table td{ width:120px; height:50px; border:1px solid #000; } table td div.dragDiv{ ma

HTML5 拖拽实现

简介: 最早在网页中引入JavaScript拖放功能是IE4.当时,网页中只有两种对象可以拖放:图像和某些文本.拖放图像时,把鼠标放到图像上,按住鼠标不放就可以拖放它.拖放文本时,要先选中文本,然后可以像拖放图像一样拖放被选中的文本.在IE4中,唯一有效的放置目标是文本框.到了IE5,拖放功能得到拓展,添加了新的事件,而且几乎网页中的任何元素都可以作为放置目标.IE5.5更进一步让网页中的任何元素都可以拖放.HTML5以IE的实例为基础指定了拖放规范.  一.基本释义  1 实现拖拽效果   *

HTML5拖拽——将本地文件拖拽到网页中显示

HTML5标准中的提供的用于文件输入输出(I/O)的对象 File: 代表一个文件对象 FileList: 代表一个文件列表,类数组对象 FileReader 用于从文件中提取内容 FileWrite 用于向文件中写入类容 这些对象需要在 H5的拖拽事件中通过 e.dataTransfer 来访问和获取 完成效果如下: Data URL给了我们一种很巧妙的将图片"嵌入"到HTML中的方法.跟传统的用img标记将服务器上的图片引用到页面中的方式不一样,在Data URL协议中,图片被转换

HTML5拖拽上传图片预览

参考博文1:http://blog.csdn.net/testcs_dn/article/details/8695532 参考博文2:http://justcoding.iteye.com/blog/2105760 1.文件API:(File API) file类型的的表单控件选择的每一个文件都是一个file对象,而FileList对象则是这些file对象的集合列表,代表所选择的所有文件.file对象继承于Blob对象,该对象表示二进制原始数据,提供slice方法,可以访问到字节内部的原始数据块