2012-07-26 71 views
1

试图在Google Apps脚本中执行一些简洁的编程。有谁知道如何重复使用重复的方法/财产链?例如:在Google Apps脚本中应用DRY原则

var lblDate = app.createLabel("Date") 
    .setId('lblDate') 
    .setStyleAttribute("fontFamily", "\"Helvetica Neue\", \"HelveticaNeue\", Helvetica, Arial, \"Lucida Grande\", sans-serif") 
    .setStyleAttribute("fontSize", "14px") 
    .setStyleAttribute("fontSize", "1.4rem") 
    .setStyleAttribute("lineHeight", "1") 
    .setStyleAttribute("color", "#222222") 
    .setStyleAttribute("position", "relative"); 

这个问题对我来说很多的影响,但在(上图)手头的任务是将只使用天然气的Javascript在不同的表单元素Zurb基金会风格。

任何接受者?此方法詹姆斯·费雷拉,谷歌脚本的作者(企业应用要点)

var lblDate = app.createLabel("Date").setId('lblDate'); 
applyCSS(lblDate, _zurb1); 

所有信用卡:

回答

5

你能不能做这样的事情:

function applyCSS(element, style) { 
    for (var key in style) { 
    element.setStyleAttribute(key, style[key]); 
    } 
} 

var _zurb1 = 
    { 
    "fontFamily": "\"Helvetica Neue\", \"HelveticaNeue\", Helvetica, Arial, \"Lucida Grande\", sans-serif", 
    "fontSize": "14px", 
    "fontSize": "1.4rem", 
    "lineHeight": "1", 
    "color": "#222222", 
    "position": "relative" 
    } 

然后在你的主代码。


编辑(2012年4月9日)

随着新setStyleAttributes()方法,我认为你现在可以用applyCSS()函数做掉,只是使用:

var lblDate = app.createLabel("Date").setId('lblDate').setStyleAttributes(_zurb1); 
+0

像魅力!感谢AdamL! – 2012-07-27 01:58:22

+0

只是一个警告。 Internet Explorer不喜欢fontSize的两种不同分配。如果我更聪明,我可以告诉你为什么,但它会引发错误。我简单地排除了第二名,并在Chrome,Mozilla和Explorer上运行得很好。 – MartinK 2013-02-01 23:54:02

+0

@MartinK好的网页设计师不应该关心IE特定的怪癖。只需通过网页顶部的面板通知用户即可使用符合标准的更好的浏览器。 – 2016-09-10 16:53:30