我知道我有点落后于时代,但我刚刚遇到了 javascript 模块模式。我正在使用重新编写一些项目,并且想知道下面代码的效率。这是一个非常基本的脚本,可以在某些元素上更新 CSS。
/*---- CSS Styling Functions ----*/
$(document).ready(function() { cssStyler.init('breadcrumbs');});
$(".toggle_category").click(function(){ cssStyler.init('label');});
var cssStyler = {
breadcrumbs: {
id: $("#category_id").val(),
id2: $("#art_id").val(),
attr: "color",
tag: "#CD661D",
},
label: {
id: "alert_request",
attr: "display",
tag: "block",
tag2: "none"
},
init: function(config) {
elems = new Array();
elems[0] = $('#'+cssStyler[config].id)[0];
elems[1] = $('#'+cssStyler[config].id2)[0];
for (var i = 0; i < elems.length; i++) {
if(elems[i]){
if (elems[i].style[cssStyler[config].attr] != cssStyler[config].tag) {
elems[i].style[cssStyler[config].attr] = cssStyler[config].tag;
}
else {
elems[i].style[cssStyler[config].attr] = cssStyler[config].tag2;
}
}}
}
};
});
如您所见,它获取页面上的元素并更改 CSS。面包屑在页面就绪时运行,并且标签在单击时被隐藏/取消隐藏。
我之前从未真正接触过模块,我担心的是效率过高。可以有两个“配置”并根据传递给它的变量运行函数吗?有没有更好的做事方式?
任何改进建议将不胜感激。如果它完全是垃圾,那就这么说吧,它不会伤害我的感情——我保证。