Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Kineticjs对象绑定_Javascript_Kineticjs_Layer - Fatal编程技术网

Javascript Kineticjs对象绑定

Javascript Kineticjs对象绑定,javascript,kineticjs,layer,Javascript,Kineticjs,Layer,我通过循环从数组创建按钮和标签。我将layer.id和layer.name指定给按钮和标签。当按下按钮时,我想做的是在适当的行上绘制描述按钮颜色的文本。问题是,当单击按钮时,相应的标签会被定位,但仅定位到最后一个标签位置,当单击另一个按钮时,标题会写在最后一个标题上。我想使用l.find(“.”+v2)查找/分配适当的标签。我对脚本的其他部分使用相同的函数,绑定工作正常 var s = new Kinetic.Stage({container: 'toolpanel', width:500, h

我通过循环从数组创建按钮和标签。我将layer.id和layer.name指定给按钮和标签。当按下按钮时,我想做的是在适当的行上绘制描述按钮颜色的文本。问题是,当单击按钮时,相应的标签会被定位,但仅定位到最后一个标签位置,当单击另一个按钮时,标题会写在最后一个标题上。我想使用l.find(“.”+v2)查找/分配适当的标签。我对脚本的其他部分使用相同的函数,绑定工作正常

var s = new Kinetic.Stage({container: 'toolpanel', width:500, height:700});

var l = new Kinetic.Layer();

var cp3 = new Kinetic.Rect({x: 100,y: 10,width: 400,height:700,  stroke:'black', draggable:true});
var db = [];
db.push("red_Glove Type:");
db.push("blue_Glove Type:");
db.push("black_Throws:");
var lx = 50;

for (var i = 0;i < db.length;i++){ var ser = db[i]; var sdb = ser.split("_"); v1 = sdb[0]; v2 = sdb[1];

 var box = new Kinetic.Rect({x: lx+=20 , y:5, fill: v1, id: v2, name:v2,  height: 30, width:30});
 l.add(box); lx+=30; l.draw();

 var posY = box.getPosition().y;
 box.on('mousedown', (function(v1,v2){ return function(){
 var check = l.find("." + "v2");
 var caption = new Kinetic.Text({
 x: 230,
 y:posY ,
 fontSize: 16,
 text: v1, 
 id:v2,
 draggable: true,
 fill:v1
 });
 caption.setText(v1);
  l.add(caption); l.draw();

 }})(v1,v2),false);

 }

var desc = new Kinetic.Text({x: cp3.getWidth()/ 2,y: 20,text: 'Your Personalization',fontSize: 16,fontFamily: 'arial',fill: 'black',padding: 4});
 l.add(desc);

s.add(l);
var odesc = [];
odesc.push("Glove Type:_20");
odesc.push("Glove Series:_40");
odesc.push("Glove Positons:_60");
odesc.push("Throws:_80");
odesc.push("Glove Back Style:_100");
odesc.push("Hand Size:_120");
var ly = 20;

for (var s = 0; s < odesc.length; s++){
var db = odesc[s];
var sdb = db.split("_");
var text = sdb[0];

var label = new Kinetic.Text({ 
x: 100, 
y: ly+=50, 
text: text, 
fontSize: 16 ,
id: text,
fontFamily: 'arial', 
fill: 'black', 
padding: 1, 
align: 'left'
);

l.add(label); ly += 10;
var posY = label.getPosition().y;
} l.draw();
var s=new dynamic.Stage({container:'toolpanel',宽度:500,高度:700});
var l=新的动力学层();
var cp3=新的动能.Rect({x:100,y:10,宽度:400,高度:700,笔划:'black',draggable:true});
var db=[];
db.push(“红色手套类型:”);
db.push(“蓝色手套类型:”);
推(“黑色抛出”);
var lx=50;
对于(var i=0;i

请签出缩短的脚本

注意,不要对不同的运动对象使用相同的id。谢谢..我想到了这一点,并解释了为什么我添加了“名称”,因为它不必是唯一的..在较大的脚本中,每个按钮分组都将映射到特定的标签。我尝试不为20个分组编写空文本对象以显示给describe选定对象的颜色,然后针对id编写if语句以输出特定颜色。。