Raphael带文本标签可拖动的图形实现代码


Posted in Javascript onFebruary 20, 2013

最近准备学学Javascript和Raphaël,实现一个可拖动的矩形,另外矩形上还得显示标签。查了一下网上这个东西还比较冷门。Javascript才学没几天,代码估计写的很烂。

<!doctype html> 
<html charset="utf-8"> 
<head> 
<title>Raphaël - Connectivities</title> 
<script src="raphael-min.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript"> 
function Entity(r, l, t, w, h){ 
this.Label = r.text(l + w/2, t + h/2, "Hello World!"); 
this.Rectangle = r.rect(l, t, w, h, 10).attr({fill:"brown", stroke:"#666", title:"A Rectangle"}).drag(move, Dragger, up).data("cooperative", this.Label).toBack(); 
function Dragger(){ 
this.xx = this.attr("x"); 
this.yy = this.attr("y"); 
this.animate({"fill-opacity": .2}, 500); 
} 
function move(dx, dy){ 
var attr = {x: this.xx + dx, y: this.yy + dy}; 
this.attr(attr); 
var lb = this.data("cooperative"); 
var attr1 = {x: this.xx + dx + this.attr("width") / 2, y: this.yy + dy + this.attr("height") / 2}; 
lb.attr(attr1); 
} 
function up(){ 
this.animate({"fill-opacity": 1}, 300); 
} 
} 
window.onload = function(){ 
var r = Raphael("holder", 620, 420),discattr={fill:"red", stroke:"none"}; 
var entity1 = new Entity(r, 0, 0, 60, 40); 
}; 
</script> 
</head> 
<body> 
<div id="holder"> 
</div> 
</body> 
</html>

实现方法就是将Text作为Rectangle自定义属性,才能控制当拖动的时候,随着Rectangle一起移动。
Javascript 相关文章推荐
js 日期转换成中文格式的函数
Jul 07 Javascript
取得元素的左和上偏移量的方法
Sep 17 Javascript
浅析Bootstrip的select控件绑定数据的问题
May 10 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
Feb 23 Javascript
Javascript防止图片拉伸的自适应处理方法
Dec 26 Javascript
vue的token刷新处理的方法
Jul 17 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
Sep 21 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
vue使用codemirror的两种用法
Aug 27 Javascript
jQuery实现鼠标滑动切换图片
May 27 jQuery
详解node.js 事件循环
Jul 22 Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 #Javascript
JS刷新框架外页面七种实现代码
Feb 18 #Javascript
js获取html参数及向swf传递参数应用介绍
Feb 18 #Javascript
用js写了一个类似php的print_r输出换行功能
Feb 18 #Javascript
让ie6也支持websocket采用flash封装实现
Feb 18 #Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
Feb 18 #Javascript
jQuery筛选器children()案例详解(图文)
Feb 17 #Javascript
You might like
php FPDF类库应用实现代码
2009/03/20 PHP
C# Assembly类访问程序集信息
2009/06/13 PHP
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
php中in_array函数用法分析
2014/11/15 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
javascript 常用方法总结
2009/06/03 Javascript
javascript new 需不需要继续使用
2009/07/02 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
详谈javascript异步编程
2016/02/21 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
Python中多线程thread与threading的实现方法
2014/08/18 Python
简单介绍Python中的几种数据类型
2016/01/02 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
python交换两个变量的值方法
2019/01/12 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
售后服务承诺书怎么写
2014/05/21 职场文书
流动人口婚育证明
2014/10/19 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
导游词之吉林花园山
2019/10/17 职场文书