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 相关文章推荐
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
js jq 单击和双击区分示例介绍
Nov 05 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
Nov 03 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
Nov 24 Javascript
jQuery动态加载css文件实现方法
Jun 15 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
jQuery.datatables.js插件用法及api实例详解
Oct 28 Javascript
Avalonjs双向数据绑定与监听的实例代码
Jun 23 Javascript
Vue实战之vue登录验证的实现代码
Oct 31 Javascript
vue todo-list组件发布到npm上的方法
Apr 04 Javascript
vue自定义正在加载动画的例子
Nov 14 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
怎样在UNIX系统下安装php3
2006/10/09 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
jQuery each()方法的使用方法
2010/03/18 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
python线程池的实现实例
2013/11/18 Python
Python与shell的3种交互方式介绍
2015/04/11 Python
python使用psutil模块获取系统状态
2016/08/27 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
Python3多线程基础知识点
2019/02/19 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
python global关键字的用法详解
2019/09/05 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
syb养殖创业计划书
2014/01/09 职场文书
团支部推优材料
2014/05/21 职场文书
赔偿协议书
2015/01/27 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
Python可视化学习之seaborn调色盘
2022/02/24 Python