我还是javascript的新手,甚至是Raphael-JS的新手。我需要简化我的代码并删除任何冗余(见下文)。我的许多变量基本相同,只有一个或两个属性。
var textLine1 = paper3.text(19, 40, "TODAY'S RATES.").attr({
'text-anchor':'start',
'font-family' : 'Arial, sans-serif',
fill: "#ffffff"
});
var textLine3 = paper3.text(19, 210, "RATE JUMBO").attr({
'text-anchor':'start',
'font-family' : 'Arial, sans-serif',
fill: "#ffffff",
"font-size": 13
});
有没有办法可以为所有文本属性设置默认值,并将链特定属性设置为现有属性?如果不是这样做的最佳方式是什么?
答案 0 :(得分:0)
我猜你可以为某些人使用一个对象,或者克隆为一些想法。也许这将取决于您想要如何处理它的变化。这是一个例子jsbin虽然http://jsbin.com/ujavErA/1/edit?html,js,output(小提琴不起作用)。
var textLine1 = paper.text(19, 40, "TODAY'S RATES.").attr({
'text-anchor':'start',
'font-family' : 'Arial, sans-serif',
fill: "#444444"
});
var textLine3 = paper.text(19, 60, "RATE JUMBO").attr({
'text-anchor':'start',
'font-family' : 'Arial, sans-serif',
fill: "#444444",
"font-size": 13
});
var textLine4 = textLine1.clone().attr({ x: 19, y : 80, text : 'Some clone stuff' });
var defaults = {
'text-anchor':'start',
'font-family' : 'Arial, sans-serif',
'fill': "#444444",
"font-size": 13
};
var textLine5 = paper.text(19,100,'Some more stuff with an object as default').attr( defaults );
var textLine6 = paper.text(19,120, 'Some more stuff').attr( defaults ).attr("font-size", 16);