在浏览器屏幕周围拖放Canvas
Drag and Drop the Canvas around the browser screen
我对Raphael和JS都很陌生。我需要能够拖动画布本身,而不是其中的对象,到屏幕上的不同位置。我在网上到处找都找不到线索。当然,用户必须尝试在一些空闲的地方抓取画布……从子对象…
如有任何线索,我将不胜感激。
下面是我在这个站点上构建画布的方法:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Raphael Play</title>
<script type="text/javascript" src="js/raphael.js"></script>
<script type="text/javascript" src="js/mood.js"></script>
<style type="text/css">
#canvas_container {
position:absolute;
width: 803;
left:200px;
top:100px;
border: 0px solid #555;
-webkit-box-shadow: 0px 0px 84px #999;
-moz-box-shadow: 0px 0px 84px #999;
box-shadow: 0px 0px 84px #000;
border-radius: 20px 20px 20px 20px;
background-color:#fff;
background-image:url(static/VAZZZ.png);
}
</style>
</head>
<body>
<div id="canvas_container" ></div>
</body>
</html>
这是<div>
的跨浏览器拖动函数和事件侦听器。
- 你的CSS不完整(没有指定高度和宽度缺少"px")。
- 框阴影显著降低了拖动的平滑度,你可能实际上想在这个例子中使用一个图像(删除框阴影看看它有多平滑)。
如果你想让UI中的其他东西成为实际的拖动处理程序(但仍然移动整个
<div>
),你必须将事件侦听器更改为该元素,并将JavaScript的第15行更改为:var dragObj = e.target ? e.target : e.srcElement;
转换成:
var dragObj = e.target ? e.target.parentNode : e.srcElement.parentNode;
我已经保存这段代码很多年了,我相信原作者是http://www.quirksmode.org/,尽管我不再在那里看到它了。你会在这个网站上找到很多关于JS的信息。再次,这是一个跨浏览器的脚本,我不确定你需要给你使用画布。如果你对JS和DOM非常陌生,那么我相信代码会看起来有点混乱,我鼓励你问更多的问题。
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- HTML/CSS-用于拖放的全页面覆盖
- Rubaxa可与聚合物进行排序/拖放不起作用,具体取决于显示器:
- dblclick事件是在jquery拖放后触发的
- 无法进行拖放以使用本地存储
- 如何使用Java脚本创建提交按钮's的拖放功能
- Chrome原生拖放相对容器并不能正确渲染重影
- 如何在Javascript中创建排序、拖放多级列表
- html5拖放文件-在提交整个表单时上传
- 在jQuery UI中获取ul和li值,拖放即可排序
- html5拖放确定拖动项目的来源
- 我使用什么语言来创建像Webly这样的拖放功能
- HTML5拖放;Drop-使用jQuery处理事件
- 使用jquery拖放图像
- HTML5拖放访问属性
- HTML5拖放-如何删除IE上的默认重影图像
- EaselJS / canvas在拖放过程中更改元素焦点
- 在浏览器屏幕周围拖放Canvas
- 如何实现HTML5 Canvas绘画应用程序的拖放