国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

jquery移動(dòng)端省市縣(區(qū))三級(jí)聯(lián)動(dòng)插件

Rocko / 942人閱讀

摘要:寫(xiě)省市區(qū)三級(jí)聯(lián)動(dòng)插件的關(guān)鍵是在于你如何編寫(xiě)自己的省市縣區(qū)文件,你要是把數(shù)據(jù)格式寫(xiě)對(duì)了,可以很輕松的寫(xiě)一省市區(qū)插件出來(lái)。

最近剛做完一個(gè)版本的項(xiàng)目,閑暇時(shí)間,就索性把項(xiàng)目中需要用到的插件都自己寫(xiě)了一個(gè),畢竟自己動(dòng)手豐衣足食才是最重要,自己寫(xiě)的,可以應(yīng)對(duì)各種項(xiàng)目需求,今天又把手機(jī)端的省市區(qū)三級(jí)聯(lián)動(dòng)選擇功能編寫(xiě)了一個(gè)插件出來(lái),代碼很簡(jiǎn)單,樣式也是應(yīng)用的跟日期時(shí)間選擇插件的一樣。寫(xiě)省市區(qū)三級(jí)聯(lián)動(dòng)插件的關(guān)鍵是在于你如何編寫(xiě)自己的“省市縣(區(qū))”json文件,你要是把數(shù)據(jù)格式寫(xiě)對(duì)了,可以很輕松的寫(xiě)一省市區(qū)插件出來(lái)。在項(xiàng)目里,我把json文件里的數(shù)據(jù)都?jí)嚎s了一遍直接放到了插件的.js文件里,自己覺(jué)得這樣更好,減少插件的關(guān)聯(lián)文件,就一個(gè).js和一個(gè).css文件,一目了然。

下面我把代碼放出來(lái),需要的小伙伴們可以粘貼復(fù)制哦。(插件沒(méi)有bug,可以放心使用,喜歡的給個(gè)贊哦(o^*^o)!!!)

使用方法
HTML:
  • //存放選擇的省市區(qū)文本值
  • JS: $(".city").pickArea({ "speed":2 });
    jquery.pickArea.js
    /*
    * pluginName:pickCity,
    * author:yangyang2010cs@163.com
    * Individual contact method:986372959(It"s my QQ)
    * date:2017/09/07 18:45:00
    * */
    ;(function($,window,document,undefined){
        "use strict"; //嚴(yán)格模式,提高效率
        var pluginName = "pickArea", //定義插件的名字
            defaults = {},//定義一個(gè)默認(rèn)的參數(shù)
            liH,//每一個(gè)li的高度
            $list,//滑動(dòng)列表
            globalThis_launchHtml,
            data,
            pluginThis;//指代指向plugin的this
        var global = {
            options:""
        };
        function Plugin(options){ //創(chuàng)建構(gòu)造函
            //this -- Plugin對(duì)象
            pluginThis = this;
            this.options = options;
            this.init(); //初始化
        }
        Plugin.prototype = {
            init:function(){
                global.options = this.options;
                data = dataJson.data;//獲取數(shù)據(jù)   data[i].code省code  data[i].name省name
                console.log(data)
                this.render(); //渲染
            },
            render:function(){
                //this -- Plugin對(duì)象
                var str = "
    "+ "
    "+ "
    "+ "取消"+ "
    "+ "
    設(shè)置地區(qū)
    "+ "
    "+ "確定"+ "
    "+ "
    "+ "
    "+ "
    "+ "
    "+ "
      "+ "
    "+ "
    "+ "
    "+ "
    "+ "
    "+ "
    "+ "
      "+ "
    "+ "
    "+ "
    "+ "
    "+ "
    "+ "
    "+ "
      "+ "
    "+ "
    "+ "
    "+ "
    "+ "
    "+ "
    "+ "
    "; $("body").append(str); $list = $(".list"); $(".pick-cancel,.pick-layer").on("click",function(){ $(".touches,.pick-layer").remove(); $("body").unbind("touchmove"); //恢復(fù)了body的拖動(dòng)事件 }); $(".pick-sure").on("click",function(){ var val = ""; $(".pick-active").each(function(){ val += $(this).text()+"-"; }); $(globalThis_launchHtml).html(val.substring(0,val.length-1)); $(".touches,.pick-layer").remove(); $("body").unbind("touchmove"); //恢復(fù)了body的拖動(dòng)事件 }); $("body").on("touchmove",function (e){ e.preventDefault(); }); liH = 44;//li的高度 this.createProvince(); this.handleEvent(); //綁定事件 return this; }, createProvince:function(){ for(var i=0;i" +data[i].name+""); //data[i].code省code data[i].name省name } $list.eq(0).find("li").eq(0).addClass("pick-active");//一開(kāi)始默認(rèn)第三行選中 $list.eq(0).css("top",2*liH); this.createCity(); }, createCity:function(){ $list.eq(1).html(""); var selectProCode = $list.eq(0).find("li.pick-active").attr("data-provinceCode"); var getCityArr = ""; for(var i=0;i" +getCityArr[j].name+""); } $list.eq(1).find("li").eq(0).addClass("pick-active");//一開(kāi)始默認(rèn)第三行選中 $list.eq(1).css("top",2*liH); this.createCounty(); }, createCounty:function(){ $list.eq(2).html(""); var selectProIndex = $list.eq(0).find("li.pick-active").attr("data-provinceIndex"); var selectCityIndex = $list.eq(1).find("li.pick-active").attr("data-cityIndex"); var getCountyArr = data[selectProIndex].cities[selectCityIndex].district; for(var j=0;j" +getCountyArr[j].name+""); } $list.eq(2).find("li").eq(0).addClass("pick-active");//一開(kāi)始默認(rèn)第三行選中 $list.eq(2).css("top",2*liH); }, handleEvent:function(){ //函數(shù)綁定 //this -- Plugin對(duì)象 $list.each(function(){ var startY = null,//開(kāi)始的pageY endY = null,//結(jié)束的pageY distY = null,//endY - startY cTop = null,//currentTop _top = null,//ul.list的top值 timeS = null,//滾動(dòng)的開(kāi)始時(shí)間 distT = null,//每一次滾動(dòng)的時(shí)間差 speed = null;//速度 var SE = null; var ME = null; function startCallBack(e){ //這里的this指向當(dāng)前滑動(dòng)的$list if(e.originalEvent.touches){ SE=e.originalEvent.targetTouches[0]; console.log(SE) } startY = SE.pageY; cTop = $(this).position().top; timeS = new Date(); } function moveCallBack(e){ //這里的this指向當(dāng)前滑動(dòng)的$list if(e.originalEvent.touches){ ME=e.originalEvent.targetTouches[0]; //console.log(ME) } var scrollSpeed = pluginThis.options.speed || 2; endY = ME.pageY; distY = scrollSpeed*(endY - startY); //console.log(distY);//往下滑動(dòng)是正直,往上是負(fù)值 if($(this).find("li").length==2){ if(cTop+distY>88){//從頂部往下滑動(dòng) _top = 88; } else if(cTop+distY<$(this).parent().height()-$(this).height()-44){//從底部往上滑動(dòng) _top = $(this).parent().height() - $(this).height()-44; } else {//中間地方滑動(dòng) _top = cTop+distY; } } else if($(this).find("li").length==1){ return; } else { if(cTop+distY>88){//從頂部往下滑動(dòng) _top = 88; } else if(cTop+distY<$(this).parent().height()-$(this).height()-88){//從底部往上滑動(dòng) _top = $(this).parent().height() - $(this).height()-88; } else {//中間地方滑動(dòng) _top = cTop+distY; } } _top = _top - _top % liH;//取整 $(this).css("top",_top); if(_top==44){ $(this).find("li").eq(1).addClass("pick-active").siblings().removeClass("pick-active"); } else if(_top==88){ $(this).find("li").eq(0).addClass("pick-active").siblings().removeClass("pick-active"); } else { $(this).find("li").eq(Math.abs(_top/liH)+2).addClass("pick-active").siblings().removeClass("pick-active"); } } function endCallBack(e){ //這里的this指向當(dāng)前滑動(dòng)的$list var $this = $(this); console.log() var dir = distY < 0 ? 1 : -1;//方向 上移為1,下移為-1 distT = new Date() - timeS; speed = Math.abs(distY / distT);//單位px/ms if($(this).find("li").length==1){ return; } else { if(speed>0.6) { /*alert(1)*/ if (dir == 1 && Math.abs(_top / liH) + 3 == $(this).find("li").length) { //手指向上滑動(dòng) if($this.attr("class")==$list.eq(0).attr("class")){ pluginThis.createCity(); } else if($this.attr("class")==$list.eq(1).attr("class")){ pluginThis.createCounty(); } return;//到底了,不能滑了 } else if(dir==-1 && _top==88){ //手指向下滑動(dòng) if($this.attr("class")==$list.eq(0).attr("class")){ pluginThis.createCity(); } else if($this.attr("class")==$list.eq(1).attr("class")){ pluginThis.createCounty(); } return;//到頂了,不能滑了 } } setTimeout(function(){ $this.css("top",_top); if(_top==44){ $(this).find("li").eq(1).addClass("pick-active").siblings().removeClass("pick-active"); } else if(_top==88){ $(this).find("li").eq(0).addClass("pick-active").siblings().removeClass("pick-active"); } else { $(this).find("li").eq(Math.abs(_top/liH)+2).addClass("pick-active").siblings().removeClass("pick-active"); } if($this.attr("class")==$list.eq(0).attr("class")){ pluginThis.createCity(); } else if($this.attr("class")==$list.eq(1).attr("class")){ pluginThis.createCounty(); } },50); } } $(this).off("touchstart").on("touchstart",startCallBack); //下滑開(kāi)始 這里的this指向plugin對(duì)象 $(this).off("touchmove").on("touchmove",moveCallBack); //滑動(dòng)的時(shí)候 這里的this指向plugin對(duì)象 $(this).off("touchend").on("touchend",endCallBack); //滑動(dòng)完了 這里的this指向plugin對(duì)象 }) } }; $.fn[pluginName] = function(options){ $(this).click(function(){ globalThis_launchHtml = this; new Plugin(options); }); return this;//返回調(diào)用插件的對(duì)象,以便支持鏈?zhǔn)秸{(diào)用 } })(jQuery,window,document);
    jquery.pickArea.css
    .pick-container ul{
        margin:0;
        padding:0;
    }
    .pick-container ul,.pick-container li{
        list-style: none;
    }
    .pick-container a{
        text-decoration: none;
    }
    /*materialize*/
    .pick-container *{-webkit-tap-highlight-color:transparent;}
    .pick-container {
        position:fixed;
        z-index:99999999;
        left:0;
        bottom:0;
        width:100vw;
        background:#fff;
        margin: 0 auto;
        max-width: 1280px;
    }
    *, *:before, *:after {
        -webkit-box-sizing: inherit;
        box-sizing: inherit;
    }
    .pick-m0 {
        margin: 0;
    }
    .row:after {
        content: "";
        display: table;
        clear: both;
    }
    .row .col {
        float: left;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0 .75rem;
        min-height: 1px;
    }
    .row .col.s3 {
        width: 25%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
    .row .col.s4 {
        width: 33.33333333333%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
    .row .col.s5 {
        width: 41.66666666667%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
    .row .col.s6 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
    .center, .center-align {
        text-align: center;
    }
    /*layer*/
    .pick-layer{
        position: fixed;
        top:0;
        bottom:0;
        left:0;
        right:0;
        z-index:99999998;
        background:rgba(0,0,0,0.4);
    }
    /*pick-timer*/
    .pick-timer{
        overflow: hidden;
        position:relative;
        border-top:1px solid #eee;
        height:220px;
    }
    .pick-timer .list{
        position:absolute;
        top:0;
        left:0;
        z-index:2;
        width:100%;
        transition:top .4s ease-out;
    }
    .pick-timer .list li{
        height:44px;
        line-height:44px;
        text-align:center;
        color:#666;
        font-size:14px;
        transition:all .1s ease-out;
        width:100%;
        overflow: hidden;
        text-overflow:ellipsis;
        white-space: nowrap;
    }
    .pick-timer .list li.pick-active{
        font-size:14px;
        color:#e02222;
    }
    .pick-timer .current{
        position:absolute;
        top:88px;
        left:0;
        z-index:1;
        border-top:1px solid #e02222;
        border-bottom:1px solid #e02222;
        width:100%;
        height:44px;
        background:#fff;
    }
    /*pick-head*/
    .pick-cancel{
        display: block;
        font-size:14px;
        color:#666;
        height:40px;
        line-height:40px;
    }
    .pick-sure{
        display: block;
        font-size:14px;
        color:#e02222;
        height:40px;
        line-height:40px;
    }
    .pick-title{
        font-size:14px;
        color:#666;
        height:40px;
        line-height:40px;
    }
    /*current-time*/
    .current-time:after{
        content:":";
        font-size: 14px;
        text-align: center;
        line-height: 44px;
        color: #666;
        position: absolute;
        top:-2px;
        right:0;
    }
    .current-date-right:after{
        content:".";
        color:transparent;
        width:5px;
        border-top:1px solid #999;
        position: absolute;
        top:20px;
        right:0;
    }
    .current-date-left:before{
        content:".";
        color:transparent;
        width:5px;
        border-top:1px solid #999;
        position: absolute;
        top:20px;
        left:0;
    }
    /**/
    .pick-bgTop{
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:88px;
        /*background: linear-gradient(#fff 0%, rgba(255, 255, 255, .85)45%, rgba(255, 255, 255, .6) 75%, rgba(255, 255, 255, .4) 100%);*/
        background: -webkit-gradient(linear, left top, left bottom, from(#efefef),to(rgba(255, 255, 255, .1)));
        z-index:1;
    }
    .pick-bgBottom{
        position:absolute;
        bottom:0;
        left:0;
        width:100%;
        height:87px;
        /*background: linear-gradient(rgba(255, 255, 255, .4) 0%, rgba(255, 255, 255, .6)25%, rgba(255, 255, 255, .85) 65%, #fff 100%);*/
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, .1)),to(#efefef));
        z-index:1;
    }
    

    效果圖:

    特別注意:由于字?jǐn)?shù)長(zhǎng)度限制,我不能將省市區(qū)json數(shù)據(jù)放在這里,要不然segmentfault會(huì)提示字?jǐn)?shù)太長(zhǎng),有需要的小伙伴可以加我qq(qq寫(xiě)在.js文件里),我在qq上發(fā)給你哦。

    文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/51240.html

    相關(guān)文章

    • jquery移動(dòng)省市區(qū)三級(jí)聯(lián)動(dòng)插件

      摘要:寫(xiě)省市區(qū)三級(jí)聯(lián)動(dòng)插件的關(guān)鍵是在于你如何編寫(xiě)自己的省市縣區(qū)文件,你要是把數(shù)據(jù)格式寫(xiě)對(duì)了,可以很輕松的寫(xiě)一省市區(qū)插件出來(lái)。 最近剛做完一個(gè)版本的項(xiàng)目,閑暇時(shí)間,就索性把項(xiàng)目中需要用到的插件都自己寫(xiě)了一個(gè),畢竟自己動(dòng)手豐衣足食才是最重要,自己寫(xiě)的,可以應(yīng)對(duì)各種項(xiàng)目需求,今天又把手機(jī)端的省市區(qū)三級(jí)聯(lián)動(dòng)選擇功能編寫(xiě)了一個(gè)插件出來(lái),代碼很簡(jiǎn)單,樣式也是應(yīng)用的跟日期時(shí)間選擇插件的一樣。寫(xiě)省市區(qū)三級(jí)聯(lián)...

      spacewander 評(píng)論0 收藏0
    • jquery移動(dòng)省市區(qū)三級(jí)聯(lián)動(dòng)插件

      摘要:寫(xiě)省市區(qū)三級(jí)聯(lián)動(dòng)插件的關(guān)鍵是在于你如何編寫(xiě)自己的省市縣區(qū)文件,你要是把數(shù)據(jù)格式寫(xiě)對(duì)了,可以很輕松的寫(xiě)一省市區(qū)插件出來(lái)。 最近剛做完一個(gè)版本的項(xiàng)目,閑暇時(shí)間,就索性把項(xiàng)目中需要用到的插件都自己寫(xiě)了一個(gè),畢竟自己動(dòng)手豐衣足食才是最重要,自己寫(xiě)的,可以應(yīng)對(duì)各種項(xiàng)目需求,今天又把手機(jī)端的省市區(qū)三級(jí)聯(lián)動(dòng)選擇功能編寫(xiě)了一個(gè)插件出來(lái),代碼很簡(jiǎn)單,樣式也是應(yīng)用的跟日期時(shí)間選擇插件的一樣。寫(xiě)省市區(qū)三級(jí)聯(lián)...

      Eric 評(píng)論0 收藏0
    • EXTJS-6.2.0示例-全國(guó)省市三級(jí)聯(lián)動(dòng)(傳統(tǒng)組件方式)

      摘要:實(shí)現(xiàn)全國(guó)城市三級(jí)聯(lián)動(dòng)傳統(tǒng)模式,監(jiān)聽(tīng)下拉選擇框的事件實(shí)現(xiàn)全國(guó)城市三級(jí)聯(lián)動(dòng)傳統(tǒng)方式省份請(qǐng)選擇城市請(qǐng)選擇區(qū)縣請(qǐng)選擇三級(jí)聯(lián)動(dòng)用到的全國(guó)城市數(shù)據(jù) extjs 6.2.0 實(shí)現(xiàn)全國(guó)城市三級(jí)聯(lián)動(dòng) 傳統(tǒng)模式,監(jiān)聽(tīng)下拉選擇框的change事件實(shí)現(xiàn) 全國(guó)城市三級(jí)聯(lián)動(dòng)-傳統(tǒng)方式 function ge...

      greatwhole 評(píng)論0 收藏0
    • 使用vue開(kāi)發(fā)移動(dòng)管理后臺(tái)

      摘要:獨(dú)立完成一個(gè)移動(dòng)端項(xiàng)目不是很明白為何會(huì)有這樣的商品管理后臺(tái),還是有些經(jīng)驗(yàn)不足,包括對(duì)產(chǎn)品的全局思考,對(duì)插件的選擇等,都有考慮不周的缺點(diǎn),導(dǎo)致自己中途想換圖形界面插件,浪費(fèi)了點(diǎn)時(shí)間,這里記錄下,總結(jié)下經(jīng)驗(yàn),理一下思路。 獨(dú)立完成一個(gè)移動(dòng)端項(xiàng)目(不是很明白為何會(huì)有這樣的商品管理后臺(tái)),還是有些經(jīng)驗(yàn)不足,包括對(duì)產(chǎn)品的全局思考,對(duì)插件的選擇等,都有考慮不周的缺點(diǎn),導(dǎo)致自己中途想換圖形界面插件,...

      simpleapples 評(píng)論0 收藏0
    • 原生js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)插件

      原生js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)插件 前言 插件功能只滿(mǎn)足我司業(yè)務(wù)需求,如果希望有更多功能的,可在下方留言,我盡量擴(kuò)展!如果你有需要或者喜歡的話(huà),可以給我github來(lái)個(gè)star ? 倉(cāng)庫(kù)地址在線(xiàn)預(yù)覽 準(zhǔn)備 // 頁(yè)面上先引入css與js文件 頁(yè)面中的容器標(biāo)簽不限制,只需給個(gè)id就行 var address = new Address({ wrapId: wrap, showArr...

      mumumu 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    最新活動(dòng)
    閱讀需要支付1元查看
    <