中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

原生js封裝插件的方法

發布時間:2021-01-19 14:28:37 來源:億速云 閱讀:128 作者:小新 欄目:移動開發

小編給大家分享一下原生js封裝插件的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!


我就寫個簡單的重置樣式的插件,話不多說先上代碼;

//SetStyles.js
(function(win, doc) {
    var defaultSettings = {
        color: "red",
        background: "blue",
        border: "2px solid #000",
        fontSize:"30px",
        textAlign:"center",
        width:"200px",
        borderRadius:"5px"
    };
    function SetStyles(options) {
        var self = this;
        //沒傳配置項自己丟錯
        if(!options) {
            throw new Error("請傳入配置參數");
        }
        self = Object.assign(self, defaultSettings, options);
        self.container = doc.querySelector(self.container) || doc.querySelectorAll(self.container);
        self._changeStyles();
    }
    SetStyles.prototype = {
        _changeStyles: function() {
            var self = this;
            for(var pro in self) {
                if(pro == "container") {
                    continue;
                }
                if(pro == 'text' && typeof self[pro]== 'string') {
                    self.container.innerText = self[pro];
                    continue;
                }else if(pro == 'text' && typeof self[pro]== 'function'){
                    self.container.innerText = self[pro]();
                    continue;
                }
                self.container.style[pro] = self[pro];
            }
        }
    }
    win.SetStyles = SetStyles;
})(window, document)
  //調用
    var a = new SetStyles({
            container:"#test",
            background:"#fff",
            textAlign:"center",
            text:function(){
                return "我是文本";
            }
        });    //text參數格式字符串或者函數
    //container用的querySelectAll方法,參數一致
    //其他css參數為字符串

我的這份代碼應該足夠簡單,看不懂的說明基礎還不夠哦,自己敲一敲,有問題的地方,自己console.log一下吧。
首先定義下一默認的參數defaultSettings
然后寫個構造函數,里面為什么要用Object.assign合并對象,因為默認配置里有的你不一定全都寫,不寫的就默認為默認參數,有的就選擇你寫的參數,所以options放在后面;
最后把方法寫在原型里。
方法一般寫在原型里,屬性寫在構造函數里。
大家應該都能看的懂這段代碼的功能,重置css樣式,和jquery的css()函數類似。
但是不推薦大家用這個,畢竟遵循原則,盡量少用js去操作dom,畢竟這種代價是很昂貴的,我寫這個只是為了讓大家了解一下如何封裝插件,要去更改css樣式,不如多寫幾個類,要用那種樣式,換個類名就行。

以上是“原生js封裝插件的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汾西县| 吉林市| 隆昌县| 黄浦区| 泸州市| 海淀区| 乐陵市| 筠连县| 夹江县| 新巴尔虎左旗| 突泉县| 广灵县| 呼图壁县| 许昌市| 天津市| 高唐县| 名山县| 四子王旗| 城固县| 泰兴市| 永登县| 济南市| 象州县| 商洛市| 拉孜县| 蚌埠市| 黄石市| 湖州市| 云安县| 阿尔山市| 万载县| 福清市| 沙湾县| 临城县| 屯留县| 宁河县| 马龙县| 崇明县| 景谷| 高州市| 隆尧县|