您身边的网站建设专家
成功案例

【建站服务】漳浦网站建设【漳浦网络公司】漳浦做网站、漳浦微信公众号开发、漳浦网站设计、漳浦小程序制作-域名申请

日期: 2022-09-20 15:47:47 浏览数:4


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


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


网站建设.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 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站