美文网首页
JQuery 插件的封装 js原型 面向对象 模拟消息提示框

JQuery 插件的封装 js原型 面向对象 模拟消息提示框

作者: ZhiPengTu | 来源:发表于2018-08-23 00:38 被阅读0次
image.png

依赖jquery

如何使用它

页面引入
jquery.js  ,layUI.js
layUI.totals({
    delay:4000,,//显示4秒
    message:'你好!layUI'
});
layUI.totals({
    delay:5000,//显示5秒
    message:'今天牙疼的厉害!'
});
layUI.totals();//默认显示:3s后消失,  默认文本:hello layUI !

原型 面向对象

layUI.js

(function(window,$){
var layUI=layUI||{};
function totals(options){//这里定义原型
    this.timer=null;
    this.options={
        delay:3000,
        message:'hello layUI!'
    }
    $.extend(this.options, options);//JQERY的方法,用来合并this.options和options参数
    this.init();
}
totals.prototype.constructor=totals;//这句话听说不写也没关系,写上去可以预防一些错误
totals.prototype.init=function(){
    var _this = this;
    //被插入的div,可以在这里给标签定义css
    var totalswrap=document.createElement('div');
    var body=document.getElementsByTagName('body')[0];
    totalswrap.innerText=_this.options.message;
    body.appendChild(totalswrap);
    setTimeout(function(){
        body.removeChild(totalswrap);
    },_this.options.delay)
};

layUI.totals=function(options){
    new totals(options);//实例化原型
}
//将layUI从闭包函数里面暴露到window,这里原理跟jq一样
if (typeof module !== 'undefined' && typeof exports === 'object' && define.cmd) {
    module.exports = layUI;
} else if (typeof define === 'function' && define.amd) {
    define(function () {
        return layUI;
    });
} else {
    window.layUI = layUI;
}
})(window,jQuery);

相关文章

网友评论

      本文标题:JQuery 插件的封装 js原型 面向对象 模拟消息提示框

      本文链接:https://www.haomeiwen.com/subject/mswuiftx.html