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 相关文章推荐
异步加载script的代码
Jan 12 Javascript
javascript静态页面传值的三种方法分享
Nov 12 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
Apr 12 Javascript
javascript实现十秒钟后注册按钮可点击的方法
May 13 Javascript
jQuery解析Json实例详解
Nov 24 Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
Sep 23 Javascript
微信小程序  自定义创建详细介绍
Oct 27 Javascript
seajs模块压缩问题与解决方法实例分析
Oct 10 Javascript
Popup弹出框添加数据实现方法
Oct 27 Javascript
微信小程序 setData 对 data数据影响问题
Apr 18 Javascript
原生js实现照片墙效果
Oct 13 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 文件上传全攻略
2010/04/28 PHP
PHP 一个随机字符串生成代码
2010/05/26 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
PHP修改session_id示例代码
2014/01/08 PHP
php 发送带附件邮件示例
2014/01/23 PHP
PHP基本语法总结
2014/09/06 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
vuex的简单使用教程
2018/02/02 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
ES6 let和const定义变量与常量的应用实例分析
2019/06/27 Javascript
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
python中的二维列表实例详解
2018/06/19 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
酒店执行总经理岗位职责
2013/12/15 职场文书
小学生家长评语集锦
2014/01/30 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers