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创建优美的页面滑动块效果 - Glider.js
Sep 27 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
Jan 15 Javascript
jquery append()方法与html()方法的区别及使用介绍
Aug 01 Javascript
jQuery实现的自动加载页面功能示例
Sep 04 Javascript
Vue2.0实现购物车功能
Jun 05 Javascript
Vue2.0如何发布项目实战
Jul 27 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
Nov 27 Javascript
JS正则表达式封装与使用操作示例
May 15 Javascript
javascript for循环性能测试示例
Aug 07 Javascript
VUEX 数据持久化,刷新后重新获取的例子
Nov 12 Javascript
RxJS在TypeScript中的简单使用详解
Apr 13 Javascript
如何制作自己的原生JavaScript路由
May 05 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文件上传表单摘自drupal的代码
2011/02/15 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
IE iframe的onload方法分析小结
2010/01/07 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
python打开文件并获取文件相关属性的方法
2015/04/23 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
Python AES加密实例解析
2018/01/18 Python
python保存数据到本地文件的方法
2018/06/23 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
物业管理应届生求职信
2013/10/28 职场文书
机修工工作职责
2014/02/21 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
授权委托书
2015/01/28 职场文书
追讨欠款律师函
2015/06/24 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书