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