vue 移动端添加 时间日期选择器

时间:2024-03-09 22:18:12

 

效果: 

 

index.vue

<template>
    <div class="user-wrap" style="padding-bottom: 0;text-align: center">



        <h1>-----------------------时间选择器-----------------------</h1>
        <datetimePicker v-on:getTimestamp="getTimestamp"></datetimePicker>


    </div>
</template>
<script>

    export default {
        data () {
            return {


            }
        },
        components: {

        },
        methods:{

            getTimestamp(stamp){
                console.error(stamp)
            }

        },
        activated () {

        },

        deactivated(){

        }
    }
</script>


datetimePicker.vue:
<template>
    <div class="datatime-picker-wrap">
        <input style="" class="sp-date" type="text">
    </div>
</template>


<style scoped>
    input{
        line-height: .26rem;
        border-radius: 5px;
        padding: .03rem .05rem;
    }
</style>


<script>

    import \'@/lib/js/jq.js\'
    import \'@/lib/js/jquery.selector-px.js\'

    export default {
        data () {
            return {

            }
        },
        props: {
            height: {
                type: String,
                default: \'.26rem\',
            },
            width: {
                type: String,
                default: \'34\',
            },
            time: {
                type: Boolean,
                default: true,
            },
        },
        watch:{

        },
        methods: {
            time2str(t){
                return t>9?t:\'0\'+t;
            },
            initCss(){
                $(".sp-date").css({"height":this.height,"width":this.width+\'%\'});
            }
        },
        mounted(){

            let year = new Date().getFullYear();
            let month = this.time2str(new Date().getMonth()+1);
            let date = this.time2str(new Date().getDate());
            let hours = this.time2str(new Date().getHours());
            let mins = this.time2str(new Date().getMinutes());

            this.initCss();
            $(\'.sp-date\').val(year + \'-\' + month + \'-\' + date + \'  \' + hours + \':\' + mins);

            // 年月日 时分
            $.dateSelector({
                evEle: \'.sp-date\',
                title:\'日期和时间\',
                year: year,
                month: month,
                day: date,
                hour: hours,
                minute: mins,
                startYear: year,
                endYear: year+20,
                timeBoo: this.time,  //是否显示时分
                afterAction:  (d1, d2, d3, d4, d5)=>{
                    $(\'.sp-date\').val(d1 + \'-\' + d2 + \'-\' + d3 + \'  \' + d4 + \':\' + d5);
                    this.$emit(\'getTimestamp\',Date.parse(d1 + \'/\' + d2 + \'/\' + d3 + \'  \' + d4 + \':\' + d5) );
                }
            });
        },
        activated () {

        },

    }
</script>

 

jquery.selector-px.js
;(function($){

    //如果有元素移除
    $(\'.sel-boxs\').remove();
    $(\'body\').append(\'<style>\'+
                \'.sel-boxs{display:none;}\'+
                \'.sel-boxs .bg{position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:998;}\'+
                \'.sel-box{position:fixed;bottom:0;left:0;right:0;z-index:999;}\'+
                \'.sel-box .btn{background:#fda626;overflow:hidden;}\'+
                \'.sel-box .btn1{width:22px;height:22px;float:left;padding:11px 0px;margin: 0 10px}\'+
                \'.sel-box .btn1 img{float:left;width:inherit;height:inherit;max-width: none;max-height: none}\'+
                \'.sel-box .ok{float:right;}\'+
                \'.sel-box .name{color:white;text-align:center;line-height:22px;font-size:18px;padding:11px 0;}\'+
                \'.sel-con{background:white;}\'+
                \'.sel-con .border{height:34px;border:solid 1px #fda626;border-width:1px 0;position:fixed;bottom:72px;left:0;right:0;pointer-events:none;}\'+
                \'.sel-con .table{display:table;width:100%;table-layout:fixed;}\'+
                \'.sel-con .cell{display:table-cell;vertical-align:middle;text-align:center;overflow:hidden;}\'+
                \'.sel-con .scroll{-webkit-overflow-scrolling:touch;height:180px;overflow:auto;box-sizing:border-box;padding:72px 0;width:200%;padding-right:100%;}\'+
                \'.sel-con .ele{font-size:16px;color:#b2b2b2;height:36px;line-height:36px;}\'+
                \'@-webkit-keyframes fadeInUp {from {opacity: 0;-webkit-transform: translate3d(0, 100%, 0);transform: translate3d(0, 100%, 0);}to {opacity: 1;-webkit-transform: none;transform: none;}}\'+
                \'@keyframes fadeInUp {from {opacity: 0;-webkit-transform: translate3d(0, 100%, 0);transform: translate3d(0, 100%, 0);} to {opacity: 1;-webkit-transform: none;transform: none;}}\'+
                \'.fadeInUp {-webkit-animation-name: fadeInUp;animation-name: fadeInUp;}\'+
                \'@-webkit-keyframes fadeInDown {from {opacity: 1;-webkit-transform: none;transform: none;}to {opacity: 0;-webkit-transform: translate3d(0, 100%, 0);transform: translate3d(0, 100%, 0);}}\'+
                \'@keyframes fadeInDown {from {opacity: 1;-webkit-transform: none;transform: none;}to {opacity: 0;-webkit-transform: translate3d(0, 100%, 0);transform: translate3d(0, 100%, 0);}}\'+
                \'.fadeInDown {-webkit-animation-name: fadeInDown;animation-name: fadeInDown;}\'+
                \'.animated {-webkit-animation-duration: .4s;animation-duration: .4s;-webkit-animation-fill-mode: both;animation-fill-mode: both;}\'+
                \'</style>\'+
                \'<div class="sel-boxs">\'+
                \'   <div class="bg"></div>\'+
                \'   <div class="sel-box animated fadeInUp">\'+
                \'       <div class="btn">\'+
                \'           <div class="btn1 ok"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAAhFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8g2+bRAAAAK3RSTlMAR/fu0fuGIwupFQcC8uPXxr+6j1lR2k2yl5VfhFNEMGTn37CfP8ikenEcAN6KmwAAAcRJREFUOMullYmSgjAQRCEEERBQPMBrvfd6//9/C4sGYoJb1E6VZRjacY5Oj/NkY3d0yTwhvOwycsfOK3NDQcdE6PZCl7LBeHI6lV5zlksrNMipLJ0XUfMcFfO09uSBiV0kwMyddH0TdwYki2fsDli9mTHeVsBO922AdWzLLl7Xr7qeEfjbvrq3Pow6+VbYpdPfpQqt8g4SOL5q/xGSR09ylVRrRkn5/V9gFb8Gxyto8pTQM9VDuH/wAOT9e9YT70z6OM+aiGFv4E+4OG3osOKkIJ1YsVGCH6jJp4hx/ZO5PfBVezMHtx5eYa8OTh32F/UYS4is4Kk+qQhKJ8OzYhfwrtXikVUfacOOU7hpHllFFUxt4B18PKclesCBQHwbYC2NQ/l1P4XwqdwqDa3AK6x/i7rBWbWtLVBrXeFDGFfjktBQSG+dPpRCQD52ji239KHo474l8B6c8A+trx33M5EOJxD6zWmJZFA0OAOeKkOjqEn+7wy+1JNOfvNaRR/X2BAmkEMu7F5JweZvKeiIzPYVdluLzBD5Gi6MreRu7JL7q8bDxHz4mjAXkPtYQK5aQDbb21bb/t9Ls13HZeb5vpeV5jr+ARdfPT/feckoAAAAAElFTkSuQmCC" alt="确定"></div>\'+
                \'           <div class="btn1 cancel"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAAflBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vroaSAAAAKXRSTlMAR3Vx7fjY0vyWhlIK8r+7qVkVB+MixrJgTRqRjoQk3Mewb2IQDOUsKwWQsecAAAGYSURBVDjLlZWJbsIwDECd0YvSUsZNYWzj2Pb+/wcXpUDamkN5EkKVn1IncW3pUZj8O4niOEq+c1PIM8wkpkU8MQ/VUYojSr++0ghHOrqrLiosP9vNVBzTzXaOpVpo970ExqaX1hgo3/vuB5B41esJ8CEdhsBwJneYuZC0yCFbywPWGeStfK07koeMrH3Le1HCUZ5whPJ6JlUvKc0QqstbIJk9l2cJNHmmYOQFBtLL/9jXUd1W/vzTuFlx0lq4+MwO3n2jrFtLT2w8Zn4L1xkMvAu/t9CcuBADO7kxwNreffORLRjJYSPKVq5sIJcVTEXZypUprCQhElG2ckUiEvtLRdvalZRIYpaibe3KkljLTb4M7sk2De06W6ehN+j25napNuiOTrn+vDtH5y5Fu9p2l6Kv27radtfdLaSFd52d1Z1C6pboKWqf7yH7LNol2i/+U6dX1UWn+EM+q6APNqgV+CazfuauodyHtK+QxhjYcsObefiYsOwrLPOduQ4gs2sG0P7FaFsu1WgLHJqas8lXzThe5ebcC/4DShk9Lfj6+QIAAAAASUVORK5CYII=" alt="取消"></div>\'+
                \'           <div class="name">加载中...</div>\'+
                \'       </div>\'+
                \'       <div class="sel-con">\'+
                \'           <div class="border"></div>\'+
                \'           <div class="table"></div>\'+
                \'       </div>\'+
                \'   </div>\'+
                \'</div>\');

    // 取消选择
    $(\'.sel-box .cancel,.sel-boxs .bg\').click(function(){
    
        $(\'.sel-boxs .bg\')[0].removeEventListener(\'touchmove\', preDef, false);
        $(\'.sel-boxs .btn\')[0].removeEventListener(\'touchmove\', preDef, false);
        $(\'.sel-boxs\').find(\'.sel-box\').removeClass(\'fadeInUp\').addClass(\'fadeInDown\');
        setTimeout(function(){
          $(\'.sel-boxs\').hide();
        },300);
    });

    //取消ios在zepto下的穿透事件
    $(".sel-con").on("touchend", function (event) {
        event.preventDefault();
    });

    //取消默认行为   灰层底部不能滑动
    var preDef = function(e){
        e.preventDefault();
        return false;
    };

    function dataFrame(ele){
        // ele数组转换成相应结构
        var eleText = \'\';
        for(var i=0;i<ele.length;i++){
            eleText += \'<div class="ele">\'+ele[i]+\'</div>\';
        };
        return \'<div class="cell elem"><div class="scroll">\'+eleText+\'</div></div>\';
    };
    // 封装说明:
    // 基于jQuery
    // 适合场景,只适用于单个值的选取模式
    $.scrEvent = function(params){

        var dataArr = params.data || [];
        var evEle = params.evEle;
        var title = params.title || \'\';
        var defValue = params.defValue || dataArr[0]; //首次默认值
        var type = params.type || \'click\'; //事件类型
        var beforeAction = params.beforeAction || function(){};//执行前的动作  无参数 
        var afterAction = params.afterAction || function (data){};//执行后的动作   参数:选择的文字

        $(evEle).attr(\'readonly\',\'readonly\');
        // 点击对应input执行事件
        $(evEle).on(type, function (){

            //由于IOS点击(tap)其他区域 input也不失去焦点的特性
            $(\'input, textarea\').each(function(){
                this.blur();
            });
            
            $(\'.sel-boxs .bg\')[0].addEventListener(\'touchmove\', preDef, false);
            $(\'.sel-boxs .btn\')[0].addEventListener(\'touchmove\', preDef, false);

            beforeAction();
            $(\'.sel-con .table\').html(dataFrame(dataArr));
            $(\'.sel-box .name\').text(title);
            $(\'.sel-boxs\').show().find(\'.sel-box\').removeClass(\'fadeInDown\').addClass(\'fadeInUp\');
            // 默认值
            $(evEle).val() == "" ? defValue = defValue : defValue = $(evEle).attr(\'data-sel01\');

            $(\'.sel-con\').find(\'.elem\').eq(0).find(\'.ele\').each(function(){
                if($(this).text() == defValue){
                    $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                }
            });
            // 选择器滚动获取值和确认赋值
            var scText = defValue; // 默认值为默认值
            $(\'.sel-con .scroll\').scroll(function(){
                var that = $(this);
                // 数值显示
                var scTop = $(this)[0].scrollTop+18;
                var scNum = Math.floor(scTop/36);
                scText = $(this).find(\'.ele\').eq(scNum).text();
                // 停止锁定
                clearTimeout($(this).attr(\'timer\'));
                $(this).attr(\'timer\',setTimeout(function(){
                    that[0].scrollTop = scNum*36;
                },100));
            });

            //移除之前的绑定事件
            $(".sel-box .ok").off();
            // 确认选择
            $(\'.sel-box .ok\').click(function(){
                $(evEle).attr(\'data-sel01\', scText);
                afterAction(scText);
                $(\'.sel-boxs\').find(\'.sel-box\').removeClass(\'fadeInUp\').addClass(\'fadeInDown\');
                setTimeout(function(){
                  $(\'.sel-boxs\').hide();
                },300);
                
                $(\'.sel-boxs .bg\')[0].removeEventListener(\'touchmove\', preDef, false);
                $(\'.sel-boxs .btn\')[0].removeEventListener(\'touchmove\', preDef, false);
            });
        });
    };


    // 封装说明:
    // 基于jQuery
    // 适合场景,只适用于两个值的选取模式
    $.scrEvent2 = function(params){

        var ele = params.data || [];        //数据
        var ele2 = params.data2 || [];      //数据
        var evEle = params.evEle;           //触发选择器
        var selName = params.title || \'\';   //标题
        var defValue = params.defValue || ele[0]; //首次默认值
        var defValue2 = params.defValue2 || ele2[0];//首次默认值
        var type = params.type || \'click\'; //事件类型
        var eleName = params.eleName || \'\';  //第一个值的单位
        var eleName2 = params.eleName2 || \'\';  //第二个值的单位
        var beforeAction = params.beforeAction || function(){}; //执行前的动作  无参数
        var afterAction = params.afterAction || function (){data1, data2};//执行后的动作   参数1:选择的文字1; 参数2 选择的文字2 

        $(evEle).attr(\'readonly\',\'readonly\');
        eleName!=\'\'?eleName = \'<div class="cell" style="font-size:14px;color:#b2b2b2;">\'+eleName+\'</div>\':eleName = \'\';
        eleName2!=\'\'?eleName2 = \'<div class="cell" style="font-size:14px;color:#b2b2b2;">\'+eleName2+\'</div>\':eleName2 = \'\';
        
        $(evEle).on(type, function (){

            //由于IOS点击(tap)其他区域 input也不失去焦点的特性
            $(\'input, textarea\').each(function(){
                this.blur();
            });

            $(\'.sel-boxs .bg\')[0].addEventListener(\'touchmove\', preDef, false);
            $(\'.sel-boxs .btn\')[0].addEventListener(\'touchmove\', preDef, false);
            beforeAction();
            $(\'.sel-con .table\').html(dataFrame(ele)+eleName+dataFrame(ele2)+eleName2);
            $(\'.sel-box .name\').text(selName);
            $(\'.sel-boxs\').show().find(\'.sel-box\').removeClass(\'fadeInDown\').addClass(\'fadeInUp\');

            // 第一个值默认值
            $(evEle).val()==""?defValue = defValue:defValue= $(evEle).attr(\'data-sel01\');
            // 第二个值默认值
            $(evEle).val()==""?defValue2 = defValue2:defValue2=$(evEle).attr(\'data-sel02\');

            $(\'.sel-con\').find(\'.elem\').eq(0).find(\'.ele\').each(function(){
                if($(this).text()==defValue){
                    $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                }
            });
            // 第二个值默认值
            $(\'.sel-con\').find(\'.elem\').eq(1).find(\'.ele\').each(function(){
                if($(this).text()==defValue2){
                    $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                }
            });
            // 选择器滚动获取值和确认赋值
            var scText = ele[0]; // 默认值为数组第一个值
            var scText2 = ele2[0]; // 默认值为数组第二个值
            $(\'.sel-con .scroll\').scroll(function(){
                var that = $(this);
                // 数值显示
                var scTop = $(this)[0].scrollTop+18;
                var scNum = Math.floor(scTop/36);
                if($(this).parents(\'.elem\').index()==0){
                    scText = $(this).find(\'.ele\').eq(scNum).text();
                }else{
                    scText2 = $(this).find(\'.ele\').eq(scNum).text();
                };
                // 停止锁定
                clearTimeout($(this).attr(\'timer\'));
                $(this).attr(\'timer\',setTimeout(function(){
                    that[0].scrollTop = scNum*36;
                },100));
            });

            //移除之前的绑定事件
            $(".sel-box .ok").off();
            // 确认选择
            $(\'.sel-box .ok\').click(function(){
                $(evEle).attr(\'data-sel01\', scText);
                $(evEle).attr(\'data-sel02\', scText2);
                afterAction(scText, scText2);

                $(\'.sel-boxs\').find(\'.sel-box\').removeClass(\'fadeInUp\').addClass(\'fadeInDown\');
                setTimeout(function(){
                  $(\'.sel-boxs\').hide();
                },300);
                
                $(\'.sel-boxs .bg\')[0].removeEventListener(\'touchmove\', preDef, false);
                $(\'.sel-boxs .btn\')[0].removeEventListener(\'touchmove\', preDef, false);
            });   
        });
    };

  
    // 选择器
    // 封装说明:
    // 基于jQuery
    // 适合场景,适用于年 月 日选择 小时 分钟
    
    // 每个月的天数
    function getMonthDays(year,month){
        return new Date(year,month,0).getDate();
    }
    // 天数小于10天在前面加"0"
    function twoZero(n){
        return n<10?n=\'0\'+n:n=n+\'\';
    }
    // 天数转换成数组
    function couDay(n){
        arrDay = [];
        for(var i=1;i<=n;i++){
            arrDay.push(twoZero(i));
        };
        return arrDay;
    }
    
    $.dateSelector = function(params){
        var hunYear = [];
        var evEle = params.evEle || \'evEle\';
        var year = params.year || new Date().getFullYear();
        var month = params.month || new Date().getMonth() + 1;
        var day = params.day || new Date().getDate();
        var type = params.type || \'click\'; //事件类型
        var startYear = params.startYear || \'\';
        var endYear = params.endYear || \'\';
        var timeBoo = params.timeBoo || false;
        var hour = params.hour || new Date().getHours();
        var minute = params.minute || new Date().getMinutes();
        var title = params.title || \'日期选择\';
        var beforeAction = params.beforeAction || function(){}; //执行前的动作  无参数                
        var afterAction = params.afterAction || function (){};//执行后的动作   参数:选择的文字
        // 年 默认范围:当前年份-10 ~ 当前年份 ~ 当前年份+10
        if (startYear !== \'\' && endYear !== \'\') {
            for(var i = startYear; i <= endYear; i++){
                hunYear.push(i)
            };
        }else{
            for(var i = -10;i<10;i++){
                hunYear.push(new Date().getFullYear()-i)
            };
        }

        $(evEle).attr(\'readonly\',\'readonly\');

        // 月 范围:十二个月份
        var tweMonth = [\'01\',\'02\',\'03\',\'04\',\'05\',\'06\',\'07\',\'08\',\'09\',\'10\',\'11\',\'12\'];
        // 日 获取日期
        var arrDay = [];
        // 小时
        var timeHour = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"];
        // 分钟
        var timeMinute = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59"];

        // 添加初始值
        $(evEle).attr(\'data-sel01\', year);
        $(evEle).attr(\'data-sel02\', month);
        $(evEle).attr(\'data-sel03\', day);
        $(evEle).attr(\'data-sel04\', hour);
        $(evEle).attr(\'data-sel05\', minute);

        // 年月日选择器
        $(evEle).on(type, function(){

            $(\'.sel-boxs .bg\')[0].addEventListener(\'touchmove\', preDef, false);
            $(\'.sel-boxs .btn\')[0].addEventListener(\'touchmove\', preDef, false);
            beforeAction();
            var timeGroup = \'\';
            if(timeBoo){
                timeGroup=dataFrame(timeHour)+dataFrame(timeMinute);
            };
            $(\'.sel-con .table\').html(dataFrame(hunYear)+dataFrame(tweMonth)+dataFrame(couDay(getMonthDays(hunYear[0],tweMonth[0])))+timeGroup);
            $(\'.sel-box .name\').text(title);
            $(\'.sel-boxs\').show().find(\'.sel-box\').removeClass(\'fadeInDown\').addClass(\'fadeInUp\');
            // 选择器
            if($(evEle).val()!=\'\'){
                year = $(evEle).attr(\'data-sel01\');
                month = $(evEle).attr(\'data-sel02\');
                day = $(evEle).attr(\'data-sel03\');
                if(timeBoo){
                    hour = $(evEle).attr(\'data-sel04\');
                    minute = $(evEle).attr(\'data-sel05\');
                }
            }

            var scText = year; //
            var scText2 = month; //
            var scText3 = day; //
            var scText4 = hour; // 小时
            var scText5 = minute; // 分钟
            $(\'.sel-con\').find(\'.elem\').eq(0).find(\'.ele\').each(function(){
                if($(this).text()==year){
                    $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                }
            });
            $(\'.sel-con\').find(\'.elem\').eq(1).find(\'.ele\').each(function(){
                if($(this).text()==month){
                    $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                }
            });
            $(\'.sel-con\').find(\'.elem\').eq(2).find(\'.ele\').each(function(){
                if($(this).text()==day){
                    $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                }
            });

            if(timeBoo){
                $(\'.sel-con\').find(\'.elem\').eq(3).find(\'.ele\').each(function(){
                    if($(this).text()==hour){
                        $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                    }
                });
                $(\'.sel-con\').find(\'.elem\').eq(4).find(\'.ele\').each(function(){
                    if($(this).text()==minute){
                        $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                    }
                });
            };
            $(\'.sel-con .scroll\').eq(0).scroll(function(){
                var that = $(this);
                // 数值显示
                var scTop = $(this)[0].scrollTop+18;
                var scNum = Math.floor(scTop/36);
                // 类型名称
                scText = $(this).find(\'.ele\').eq(scNum).text();
                // 停止锁定
                clearTimeout($(this).attr(\'timer\'));
                $(this).attr(\'timer\',setTimeout(function(){
                    that[0].scrollTop = scNum*36;
                },100));
                $(\'.sel-con .table\').find(\'.elem\').eq(2).remove();
                $(\'.sel-con .table\').find(\'.elem\').eq(1).after(dataFrame(couDay(getMonthDays(scText,scText2))));
                // 固定在原来的值
                $(\'.sel-con\').find(\'.elem\').eq(2).find(\'.ele\').each(function(){
                    if(Number($(this).text())<=Number(scText3)){
                        $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                    }
                });
                $(\'.sel-con .scroll\').eq(2).scroll(function(){
                    var that = $(this);
                    // 数值显示
                    var scTop = $(this)[0].scrollTop+18;
                    var scNum = Math.floor(scTop/36);
                    // 类型名称
                    scText3 = $(this).find(\'.ele\').eq(scNum).text();
                    // 停止锁定
                    clearTimeout($(this).attr(\'timer\'));
                    $(this).attr(\'timer\',setTimeout(function(){
                        that[0].scrollTop = scNum*36;
                    },100));
                });
            });
            $(\'.sel-con .scroll\').eq(1).scroll(function(){
                var that = $(this);
                // 数值显示
                var scTop = $(this)[0].scrollTop+18;
                var scNum = Math.floor(scTop/36);
                // 类型名称
                scText2 = $(this).find(\'.ele\').eq(scNum).text();
                // 停止锁定
                clearTimeout($(this).attr(\'timer\'));
                $(this).attr(\'timer\',setTimeout(function(){
                    that[0].scrollTop = scNum*36;
                },100));
                $(\'.sel-con .table\').find(\'.elem\').eq(2).remove();
                $(\'.sel-con .table\').find(\'.elem\').eq(1).after(dataFrame(couDay(getMonthDays(scText,scText2))));
                // 固定在原来的值
                $(\'.sel-con\').find(\'.elem\').eq(2).find(\'.ele\').each(function(){
                    if(Number($(this).text())<=Number(scText3)){
                        $(this).parents(\'.scroll\')[0].scrollTop = $(this).index()*36;
                    };
                });
                $(\'.sel-con .scroll\').eq(2).scroll(function(){
                    var that = $(this);
                    // 数值显示
                    var scTop = $(this)[0].scrollTop+18;
                    var scNum = Math.floor(scTop/36);
                    // 类型名称
                    scText3 = $(this).find(\'.ele\').eq(scNum).text();
                    // 停止锁定
                    clearTimeout($(this).attr(\'timer\'));
                    $(this).attr(\'timer\',setTimeout(function(){
                        that[0].scrollTop = scNum*36;
                    },100));
                });
            });
            $(\'.sel-con .scroll\').eq(2).scroll(function(){
                var that = $(this);
                // 数值显示
                var scTop = $(this)[0].scrollTop+18;
                var scNum = Math.floor(scTop/36);
                // 类型名称
                scText3 = $(this).find(\'.ele\').eq(scNum).text();
                // 停止锁定
                clearTimeout($(this).attr(\'timer\'));
                $(this).attr(\'timer\',setTimeout(function(){
                    that[0].scrollTop = scNum*36;
                },100));
            });
            var time = \'\';
            if(timeBoo){
                $(\'.sel-con .scroll\').scroll(function(){
                    var that = $(this);
                    // 数值显示
                    var scTop = $(this)[0].scrollTop+18;
                    var scNum = Math.floor(scTop/36);
                    // 类型名称
                    if($(this).parents(\'.elem\').index()==3){
                        scText4 = $(this).find(\'.ele\').eq(scNum).text();
                    }else if($(this).parents(\'.elem\').index()==4){
                        scText5 = $(this).find(\'.ele\').eq(scNum).text();
                    };
                    time = \' \'+scText4+\':\'+scText5
                    // 停止锁定
                    clearTimeout($(this).attr(\'timer\'));
                    $(this).attr(\'timer\',setTimeout(function(){
                        that[0].scrollTop = scNum*36;
                    },100));
                });
            }

            //移除之前的绑定事件
            $(".sel-box .ok").off();
            // 进行传值
            $(\'.sel-box .ok\').click(function(){
                $(evEle).attr(\'data-sel01\', scText);
                $(evEle).attr(\'data-sel02\', scText2);
                $(evEle).attr(\'data-sel03\', scText3);
                $(evEle).attr(\'data-sel04\', scText4);
                $(evEle).attr(\'data-sel05\', scText5);
                afterAction(scText,scText2,scText3,scText4,scText5);

                $(\'.sel-boxs\').find(\'.sel-box\').removeClass(\'fadeInUp\').addClass(\'fadeInDown\');
                setTimeout(function(){
                  $(\'.sel-boxs\').hide();
                },300);
                
                $(\'.sel-boxs .bg\')[0].removeEventListener(\'touchmove\', preDef, false);
                $(\'.sel-boxs .btn\')[0].removeEventListener(\'touchmove\', preDef, false);
            });
        }); 
    }
})($);