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

【建站服务】靖边网站制作要多少钱【域名企业邮箱服务器注册申请办理】靖边网络优化公司哪家好、靖边软件开发外包价格、靖边高端企业网站页面制作设计专业公司、靖边微信公众号小程序购物支付搭建制作公司-域名申请

日期: 2022-09-20 15:54:57 浏览数:5


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


靖边网站制作要多少钱【域名企业邮箱服务器注册申请办理】靖边网络优化公司哪家好、靖边软件开发外包价格、靖边高端企业网站页面制作设计专业公司、靖边微信公众号小程序购物支付搭建制作公司


网站建设.jpg


靖边县,隶属于陕西省榆林市, 位于陕西省北部,榆林市西南部,北与内蒙古自治区乌审旗、鄂托克旗相邻;南与延安市子长市、安塞区、志丹县、吴旗县接壤;东西分别与横山区、定边县毗连。介于东经108°17′—109°20′、北纬36°58′—38°03 ′之间,总面积5088平方千米。 [1] 

靖边史称“夏州”、“朔方” [2]  ,靖边籍隋朝大建筑学家宇文恺规划设计和主持修建了大兴城(唐长安城),成为后世城市建设的范例。境内大夏国都统万城遗址是匈奴族在人类历史上遗留下的唯一都城遗址。民国二十四年(1935年),中共靖边县委和中华苏维埃政府成立,是第二次国内革命战争时期唯一没有被颠覆的县级革命政权。革命战争时期,毛泽东、周恩来等老一辈无产阶级革命家转战陕北时,在靖边的小河、天赐湾、青阳岔等地生活战斗了65个日夜,期间召开了著名的“小河会议”,拉开了全国解放战争由战略防御转向战略反攻的序幕。 [2] 

截至2018年,靖边县下辖1个街道、17个镇 [3]  ,常住人口38.2万人,实现地区生产总值(GDP)373.39亿元,其中,第一产业增加值29.61亿元,第二产业增加值249.06亿元,第三产业增加值94.72亿元,三次产业结构比为7.9:66.7:25.4,按常住人口计算,人均GDP达98351元。 [4]  2019中国西部百强县市。 [5] 



概述

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 通陆科技

网站建设上往建站