Raphael:将“.data”链接到 raphael.js 元素
Raphael: Chaining ".data" to a raphael.js element
我在将“.data” 链接到 raphael.js 元素时遇到问题。
当我稍后尝试检索数据时,我得到“undefined”。
这是我的 fiddle:http://jsfiddle.net/HkNgT/9/
//Draw:
paper.circle(circleCenterX, circleCenterY, circleCenterRadius)
.attr({'fill':'blue', 'stroke':'red', 'stroke-width':2, 'opacity': 0.8})
.data({"circleCenterX":circleCenterX,
"circleCenterY":circleCenterY,
"boxYPosition":boxYPosition,
"boxXPosition":boxXPosition})
.id = name+"-circle";
//Output:
console.log("data is = ", paper.getById(name+"-circle").data("circleCenterX"));
使用此代码,“.data(...)”部分只是不起作用.
当我尝试检索它时(使用 paper.getById),它显示“数据 = 未定义”。
我尝试过的其他方式:
//Doesn't work
paper.circle....
.data("circleCenterX",circleCenterX)
.data("circleCenterY",circleCenterY)
.data("boxYPosition",boxYPosition)
.data("boxXPosition",boxXPosition);
还有一个:
//Doesn't work
var c = paper.circle....;
c.data("circleCenterX",circleCenterX);
c.data("circleCenterY",circleCenterY);
c.data("boxYPosition",boxYPosition);
c.data("boxXPosition",boxXPosition);
还有一个:
//DOES work, but gives me huge performance losses
paper.circle....;
paper.getById(name+"-circle").data("circleCenterX",circleCenterX);
paper.getById(name+"-circle").data("circleCenterY",circleCenterY);
paper.getById(name+"-circle").data("boxYPosition",boxYPosition);
paper.getById(name+"-circle").data("boxXPosition",boxXPosition);
有什么帮助吗?
所以,我只是想帮忙,我以前从未使用过 raphael。我假设您正在尝试检索 circleCenterX
值?
查看data
函数,好像只是用来设置值的。 (它只有 returns 一个值,如果你正在设置一个值)。
function (b,c){
var d = bb[this.id] = bb[this.id] || {};
if(arguments.length==1){
if(a.is(b,"object")){
for(var e in b)b[g](e)&&this.data(e,b[e]);
return this
}
eve("raphael.data.get."+this.id,this,d[b],b);
return d[b]
}
d[b]=c,eve("raphael.data.set."+this.id,this,c,b);
return this
}
(Afaict,eve
是一个事件框架,与 Raphael
捆绑在一起。有人知道数据从哪里来吗?)
所以这不会有帮助。
检查圆形对象,我能够 see/pull 得出一个 cx
值,我假设它是您正在寻找的 circleCenterX
值...
var circ = paper.getById(name+"-circle");
console.log("baseVal is = ", circ[0].cx.baseVal.value);
console.log("animVal is = ", circ[0].cx.animVal.value);
给予
baseVal is = 100
animVal is = 100
这是您要找的吗?
我在将“.data” 链接到 raphael.js 元素时遇到问题。
当我稍后尝试检索数据时,我得到“undefined”。
这是我的 fiddle:http://jsfiddle.net/HkNgT/9/
//Draw:
paper.circle(circleCenterX, circleCenterY, circleCenterRadius)
.attr({'fill':'blue', 'stroke':'red', 'stroke-width':2, 'opacity': 0.8})
.data({"circleCenterX":circleCenterX,
"circleCenterY":circleCenterY,
"boxYPosition":boxYPosition,
"boxXPosition":boxXPosition})
.id = name+"-circle";
//Output:
console.log("data is = ", paper.getById(name+"-circle").data("circleCenterX"));
使用此代码,“.data(...)”部分只是不起作用.
当我尝试检索它时(使用 paper.getById),它显示“数据 = 未定义”。
我尝试过的其他方式:
//Doesn't work
paper.circle....
.data("circleCenterX",circleCenterX)
.data("circleCenterY",circleCenterY)
.data("boxYPosition",boxYPosition)
.data("boxXPosition",boxXPosition);
还有一个:
//Doesn't work
var c = paper.circle....;
c.data("circleCenterX",circleCenterX);
c.data("circleCenterY",circleCenterY);
c.data("boxYPosition",boxYPosition);
c.data("boxXPosition",boxXPosition);
还有一个:
//DOES work, but gives me huge performance losses
paper.circle....;
paper.getById(name+"-circle").data("circleCenterX",circleCenterX);
paper.getById(name+"-circle").data("circleCenterY",circleCenterY);
paper.getById(name+"-circle").data("boxYPosition",boxYPosition);
paper.getById(name+"-circle").data("boxXPosition",boxXPosition);
有什么帮助吗?
所以,我只是想帮忙,我以前从未使用过 raphael。我假设您正在尝试检索 circleCenterX
值?
查看data
函数,好像只是用来设置值的。 (它只有 returns 一个值,如果你正在设置一个值)。
function (b,c){
var d = bb[this.id] = bb[this.id] || {};
if(arguments.length==1){
if(a.is(b,"object")){
for(var e in b)b[g](e)&&this.data(e,b[e]);
return this
}
eve("raphael.data.get."+this.id,this,d[b],b);
return d[b]
}
d[b]=c,eve("raphael.data.set."+this.id,this,c,b);
return this
}
(Afaict,eve
是一个事件框架,与 Raphael
捆绑在一起。有人知道数据从哪里来吗?)
所以这不会有帮助。
检查圆形对象,我能够 see/pull 得出一个 cx
值,我假设它是您正在寻找的 circleCenterX
值...
var circ = paper.getById(name+"-circle");
console.log("baseVal is = ", circ[0].cx.baseVal.value);
console.log("animVal is = ", circ[0].cx.animVal.value);
给予
baseVal is = 100
animVal is = 100
这是您要找的吗?