Javascript模块新手

时间:2013-10-17 22:58:55

标签: javascript design-patterns module

我知道我落后于时代,但我刚刚遇到了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。面包屑在页面准备好后运行,标签在点击时隐藏/取消隐藏。

我之前从未真正触及过模块的问题是效率过高。是否可以使用两个'config'并根据传递给它的变量运行该函数?有没有更好的做事方式?

任何改进建议都将受到赞赏。如果它是完全垃圾,那么这样说,它不会伤害我的感情 - 我保证。

0 个答案:

没有答案