原生js怎麼封裝插件

php中世界最好的语言
發布: 2018-03-06 14:34:17
原創
2428 人瀏覽過

這次帶給大家原生js怎麼封裝插件,原生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樣式,不如多寫幾個類,要用那種樣式,換個類名就行。

相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

常用html元素結構有哪些

Google瀏覽的label與input間距問題該如何解決

禁止頁面快取有哪些方法

#html的圖片怎麼使用base64編碼來取代

以上是原生js怎麼封裝插件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!