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 相关文章推荐
ExtJS Store的数据访问与更新问题
Apr 28 Javascript
WEB 浏览器兼容 推荐收藏
May 14 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
Feb 07 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
Mar 23 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
Aug 10 Javascript
使用控制台破解百小度一个月只准改一次名字
Aug 13 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
使用堆实现Top K算法(JS实现)
Dec 25 Javascript
详解JS中的attribute属性
Apr 25 Javascript
解决JS外部文件中文注释出现乱码问题
Jul 09 Javascript
解决vue组件中click事件失效的问题
Nov 09 Javascript
element跨分页操作选择详解
Jun 29 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/02/27 无线电
PHP 函数学习简单小结
2010/07/08 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
js DOM 元素ID就是全局变量
2012/09/20 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
JavaScript数据结构之二叉树的计数算法示例
2017/04/13 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
深入理解Django中内置的用户认证
2017/10/06 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
和平主题的演讲稿
2014/01/12 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
初婚未育证明样本
2014/10/24 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
旗帜观后感
2015/06/08 职场文书
Python 实现Mac 屏幕截图详解
2021/10/05 Python