2

我知道我有点落后于时代,但我刚刚遇到了 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。面包屑在页面就绪时运行,并且标签在单击时被隐藏/取消隐藏。

我之前从未真正接触过模块,我担心的是效率过高。可以有两个“配置”并根据传递给它的变量运行函数吗?有没有更好的做事方式?

任何改进建议将不胜感激。如果它完全是垃圾,那就这么说吧,它不会伤害我的感情——我保证。

4

0 回答 0