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 相关文章推荐
地震发生中逃生十大法则
May 12 Javascript
jQuery通过扩展实现抖动效果的方法
Mar 11 Javascript
基于JavaScript实现 网页切出 网站title变化代码
Apr 03 Javascript
新手学习前端之js模仿淘宝主页网站
Oct 31 Javascript
详解获取jq ul第一个li定位的四种解决方案
Nov 23 Javascript
jQuery控制控件文本的长度的操作方法
Dec 05 Javascript
Bootstrap基本插件学习笔记之折叠(22)
Dec 08 Javascript
js中作用域的实例解析
Mar 16 Javascript
Vue自定义图片懒加载指令v-lazyload详解
Dec 31 Javascript
webpack-dev-server自动更新页面方法
Feb 22 Javascript
微信js-sdk 录音功能的示例代码
Nov 01 Javascript
微信小程序实现打卡签到页面
Sep 21 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引用(&amp;)各种使用方法实例详解
2014/03/20 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
Opacity.js
2007/01/22 Javascript
JavaScript国旗变换效果代码
2008/08/13 Javascript
Javascript var变量隐式声明方法
2009/10/19 Javascript
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
如何编写jquery插件
2017/03/29 jQuery
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
vue实现引入本地json的方法分析
2018/07/12 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
python palywright库基本使用
2021/01/21 Python
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
2015年初中教务处工作总结
2015/07/21 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript