当前位置: 网站首页>小程序开发>网络推广

漳浦网站建设【漳浦网络公司】漳浦做网站、漳浦微信公众号开发、漳浦网站设计、漳浦小程序制作

发表日期: 2021-05-25 12:36:41 浏览次数:138

漳浦网站建设【漳浦网络公司】漳浦做网站、漳浦微信公众号开发、漳浦网站设计、漳浦小程序制作


网站建设.jpg


漳浦县,闽南金三角南部县份,是福建省漳州市南部沿海县,唐垂拱二年(686年)置县,明以后素有“金漳浦”美誉。漳浦县是著名侨乡和台胞祖籍地 [1]  ,全县去台人员1.2万人,台属2.6万人,在2300万多台湾人中漳浦籍占200多万。

漳浦县有南溪、鹿溪、佛潭溪、赤湖溪、杜浔溪、浯江溪等河流,年降水量1600毫米,年均气温21.8℃。海岸线216千米,大小岛礁178个,海湾6个,港湾5个。漳诏高速公路、324国道、厦深铁路、漳州沿海大通道过境,水运有下寨和旧镇码头。沈海高速公路在漳浦设有3个互通口。

漳浦县是一个千年古县、全国文化先进县、人口大县、农业大县、海洋大县 、资源大县、新兴临港工业县。境内打造台湾古雷石化产业基地(千亿产业群)是一个台商投资密集地,改革开放后成为全国首批沿海对外开放县、现代农业示范区和国家级海峡两岸(福建)农业合作实验区的重要组成部分。

2017年2月,漳浦县入选国家重大市政工程领域PPP创新工作重点城市。2020年7月29日,入选2017-2019周期国家卫生乡镇(县城)命名名单。 [2] 



概述

js原生插件开发基本雏形:

function(window,document){
    var MaskShare = function(){
    };
    MaskShare.prototype = {};
    window.MaskShare = MaskShare;
}(window,document));

举例:

点击某个元素,弹出一个遮罩层,点击遮罩层将遮罩层去掉。

因此可以分析出,至少需要一个参数,也就是我们需要知道点击谁弹出弹出层,另外我们还需要配置一些默认参数。

(function(window,document){
    var MaskShare = function(targetDom,options){
        // 判断是用函数创建的还是用new创建的。这样我们就可以通过MaskShare("dom") 或 new MaskShare("dom")来使用这个插件了
        if(!(this instanceof MaskShare))return new MaskShare(targetDom,options);
        // 参数合并
        this.options = this.extend({
            // 这个参数以后可能会更改所以暴露出去
            imgSrc:"../static/img/coupon-mask1.png"
        },options);
        // 判断传进来的是DOM还是字符串
        if((typeof targetDom)==="string"){
            this.targetDom = document.querySelector(targetDom);
        }else{
            this.targetDom = targetDom;
        }
        var boxDom = document.createElement("div");
        var imgDom = document.createElement("img");
        // 设置默认样式 注意将z-index值设置大一些,防止其他元素层级比遮罩层高
        boxDom.style.cssText = "display: none;position: absolute;left: 0;top: 0;width: 100%;height:100%;background-color: rgba(0,0,0,0.8);z-index:9999;";
        imgDom.style.cssText = "margin-top:20px;width: 100%;";
        // 追加或重设其样式
        if(this.options.boxDomStyle){
            this.setStyle(boxDom,this.options.boxDomStyle);
        }
        if(this.options.imgDomStyle){
            this.setStyle(imgDom,this.options.imgDomStyle);
        }
        imgDom.src = this.options.imgSrc;
        boxDom.appendChild(imgDom);
        this.boxDom = boxDom;
        // 初始化
        this.init();
    };
    MaskShare.prototype = {
        init:function(){
            this.event();
        },
        extend:function(obj,obj2){
            for(var k in obj2){
                obj[k] = obj2[k];
            }
            return obj;
        },
        setStyle:function(dom,objStyle){
            for(var k in objStyle){
                dom.style[k] = objStyle[k];
            }
        },
        event:function(){
            var _this = this;
            this.targetDom.addEventListener("click",function(){
                document.body.appendChild(_this.boxDom);
                _this.boxDom.style.display = "block";
                // 打开遮罩层的回调
                _this.options.open&&_this.options.open();
            },false);
            this.boxDom.addEventListener("click",function(){
                this.style.display = "none";
                // 关闭遮罩层的回调
                _this.options.close&&_this.options.close();
            },false);
        }
    };
    // 暴露方法
    window.MaskShare = MaskShare;
}(window,document));

调用:

MaskShare(".immediately",{
    imgSrc:"../static/img/loading_icon.gif",
    boxDomStyle:{
        opacity:".9"
    },
    imgDomStyle:{
        opacity:".8"
    },
    open:function(){
        console.log("show");
    },
    close:function(){
        console.log("close");
    }
});

js原生插件开发几种写法:

1.面向对象方式:调用的时候使用new创建对象

var Auto=Auto||{};
(function(){
    var plugin=function(options){
        this.options=this.extend({xxxxx},options);
        //暴露一些api
        plugin.prototype={
            init:function(){
            },
            extend:function(){
            }
        }
        Auto.Plu=Plugin;
})();
var p=new Auto.Plu(xxxx);

var Auto;
(function(Auto){
    var plugin=(function(){
        function plugin(options){
            this.name='xiaosan';
            this.age=11;
        };
        //暴露一些api
        plugin.prototype.show=function(str){
            alert(str);
        };
        plugin.prototype.set=function(name){
            this.name=name;
            alert(this.name);
        }
        return plugin;
    })();
    Auto.Plu=plugin;
})(Auto||(Auto={}));
var plugin=new Auto.Plu(xxx);
plugin.show('111');

var RongIMLib;
(function (RongIMLib) {
    var UserDataProvider = (function () {
        function UserDataProvider(options) {
            this.opersistName = 'RongIMLib';
            this.keyManager = 'RongUserDataKeyManager';
            this._host = "";
            this.prefix = "rong";
            this.oPersist = document.createElement("div");
            this.oPersist.style.display = "none";
            this.oPersist.style.behavior = "url('#default#userData')";
            document.body.appendChild(this.oPersist);
            this.oPersist.load(this.opersistName);
        }
        UserDataProvider.prototype.setItem = function (key, value) {
            key && key.indexOf(this.prefix) == -1 && (key = this.prefix + key);
            this.oPersist.setAttribute(key, value);
            var keyNames = this.getItem(this.keyManager);
            keyNames ? keyNames.indexOf(key) == -1 && (keyNames += ',' + key) : (keyNames = key);
            this.oPersist.setAttribute(this.prefix + this.keyManager, keyNames);
            this.oPersist.save(this.opersistName);
        };
        UserDataProvider.prototype.getItem = function (key) {
            key && key.indexOf(this.prefix) == -1 && (key = this.prefix + key);
            return key ? this.oPersist.getAttribute(key) : key;
        };
        UserDataProvider.prototype.removeItem = function (key) {
            key && key.indexOf(this.prefix) == -1 && (key = this.prefix + key);
            this.oPersist.removeAttribute(key);
            this.oPersist.save(this.opersistName);
            var keyNames = this.getItem(this.keyManager), keyNameArray = keyNames && keyNames.split(',') || [];
            for (var i = 0, len = keyNameArray.length; i < len; i++) {
                if (keyNameArray[i] == key) {
                    keyNameArray.splice(i, 1);
                }
            }
            this.oPersist.setAttribute(this.prefix + this.keyManager, keyNameArray.join(','));
            this.oPersist.save(this.opersistName);
        };
        UserDataProvider.prototype.getItemKey = function (composedStr) {
            var item = null, keyNames = this.getItem(this.keyManager), keyNameArray = keyNames && keyNames.split(',') || [], me = this;
            if (keyNameArray.length) {
                for (var i = 0, len = keyNameArray.length; i < len; i++) {
                    if (keyNameArray[i] && keyNameArray[i].indexOf(composedStr) > -1) {
                        item = keyNameArray[i];
                        break;
                    }
                }
            }
            return item;
        };
        UserDataProvider.prototype.clearItem = function () {
            var keyNames = this.getItem(this.keyManager), keyNameArray = [], me = this;
            keyNames && (keyNameArray = keyNames.split(','));
            if (keyNameArray.length) {
                for (var i = 0, len = keyNameArray.length; i < len; i++) {
                    keyNameArray[i] && me.removeItem(keyNameArray[i]);
                }
                me.removeItem(me.keyManager);
            }
        };
        UserDataProvider.prototype.onOutOfQuota = function () {
            return 10  1024  1024;
        };
        return UserDataProvider;
    }());
    RongIMLib.UserDataProvider = UserDataProvider;
})(RongIMLib || (RongIMLib = {}));
var provider = new RongIMLib.UserDataProvider(optionsxxx);

2.闭包方式:调用是不用使用new

var Auto=Auto||{};
(function(){
    var plugin=(function(){
        var _options={
            default_word:'ddd'
        };
        function _firstFunc(str){
            alert(str);
        };
        function _secondFunc(str){
            alert(str);
        };
        return {//暴露的一些api
            firstFunc:_firstFunc,
            secondFunc:_secondFunc
        };
    })();
    Auto.Plu=plugin;
})();
Auto.Plu.firstFunc('xx');

变种:

var Auto=Auto||{};
(function(){
    var _options={
        default_word:'ddd'
    };
    function test(){
        alert(11)
    };
    //暴露一些api
    var _plugin={
        firstFunc:function(str=_options.default_word){
            alert(str);
            return this;
        },
        secondFunc:function(){
            alert('second');
            return this;
        }
    }
    Auto.Plu=_plugin;
})();
Auto.Plu.firstFunc('11').secondFunc();


漳浦网站建设漳浦网络公司漳浦做网站、漳浦微信公众号开发、漳浦网站设计、漳浦小程序制作

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878