91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

原生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

平果县| 浪卡子县| 曲周县| 靖江市| 广昌县| 藁城市| 黄陵县| 全州县| 全椒县| 凤冈县| 依兰县| 新宁县| 昭苏县| 厦门市| 仁寿县| 沙田区| 鸡西市| 绩溪县| 张家界市| 育儿| 长治县| 淮南市| 霍邱县| 无棣县| 微山县| 淅川县| 巩义市| 张家口市| 馆陶县| 故城县| 墨玉县| 桑日县| 中江县| 海安县| 元朗区| 英山县| 牡丹江市| 达尔| 吉水县| 修文县| 大洼县|