Raphael js在javascript对象中拖动
今天我遇到了一个小问题,我想我可以试试堆栈溢出。我将简短而甜蜜(我删除了很多代码以明确这一点) 我最近发现了拉斐尔,我喜欢它。 我制作了一些可拖动的圆,它的工作原理如下: 工作脚本:Raphael js在javascript对象中拖动,javascript,object,raphael,drag,Javascript,Object,Raphael,Drag,今天我遇到了一个小问题,我想我可以试试堆栈溢出。我将简短而甜蜜(我删除了很多代码以明确这一点) 我最近发现了拉斐尔,我喜欢它。 我制作了一些可拖动的圆,它的工作原理如下: 工作脚本: <script> var paper = Raphael(100,100,500,500); var circ = paper.circle(50,50,10) var start = function(){ }; var move = function(dx,dy) { this.attr(
<script>
var paper = Raphael(100,100,500,500);
var circ = paper.circle(50,50,10)
var start = function(){ };
var move = function(dx,dy)
{
this.attr({cx: this.ox + dx, cy: this.oy + dy});
};
var up = function(){};
circ.drag(move,start,up);
<script>
我找不到如何在对象内部使用拖动功能使其可拖动。
好了,就这样。我希望我已经清楚了,如果我写这篇文章的方式有什么问题,请原谅,但这是我的第一篇
谢谢所有帮助我的人
Wilson在
myobject
中,这个变量指向这个对象,而不是拉斐尔圆。由于myobject
没有drag
功能,因此代码会产生错误。要使其工作,必须引用必须拖动的Raphael对象,即
function myobject(vx,vy,vr) {
...
this.circle = paper.circle(x,y,r);
...
this.circle.drag(move,start,up);
...
}
很好,@Hubert OG是对的,但是我还必须改变我声明函数的方式
var start()=函数
到
this.start()=函数
警告:填写圆圈/表格,因为如果不填写,则必须单击精细边框才能将其移动。是否可以使用工作版和非工作版?
function myobject(vx,vy,vr)
{
var x,y,r;
x=vx;y=vy;r=vr
paper.circle(x,y,r);
var start = function(){};
var move = function(dx,dy){};
var up = function(){};
this.drag(move,start,up); // error here this line crash
}
function myobject(vx,vy,vr) {
...
this.circle = paper.circle(x,y,r);
...
this.circle.drag(move,start,up);
...
}