RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
                                    "+         "             "+         "                   "+         "              
"+         "           
                                "+         "        
                                    "+         "              "+         "                   "+         "              
"+         "           
                                "+         "        
                                    "+         "        
           "+         "     
                                        "+         "                                              "+         "                                               ";     /* ======================================== initialize the page view ======================================== */     function render(){         container = $(html).appendTo("body");         yearSwiper = new Swiper(".ys-datetime-year-block .swiper-container", {             direction : "vertical",             freeMode:true,             freeModeSticky:true,             slidesPerView: "auto",             onTransitionEnd:function(swiper){                 var activeIndex = swiper.activeIndex;                 var slidesLen = swiper.slides.length;                 if(activeIndex<20){                     var firstYear = parseInt($(swiper.slides[0]).attr("data-year"));                     var prevYears = [];                     for(var i=firstYear-1;i>=firstYear-100;i--){                         prevYears.push(""+i+"年");                     }                     swiper.prependSlide(prevYears);                 }else if(slidesLen-activeIndex<20){                     var lastYear = parseInt($(swiper.slides[slidesLen-1]).attr("data-year"));                     var nextYears = [];                     for(var i=lastYear+1;i<=lastYear+100;i++){                         nextYears.push(""+i+"年");                     }                     swiper.appendSlide(nextYears);                 }                 // 计算这个月有多少天                 currentYear = parseInt($(swiper.slides[activeIndex+2]).attr("data-year"));                 updateDateSwiper();             }         });         var yearSlides = [];         for(var i=currentYear-2;i<=currentYear+102;i++){             yearSlides.push(""+i+"年");         }         var prevYears = [];         for(var i=currentYear-3;i>currentYear-100;i--){             prevYears.push(""+i+"年");         }         yearSwiper.appendSlide(yearSlides);         yearSwiper.prependSlide(prevYears);         monthSwiper = new Swiper(".ys-datetime-month-block .swiper-container", {             direction :"vertical",             freeMode:true,             freeModeMomentumRatio:0.2,             loop:true,             loopAdditionalSlides:24,             freeModeSticky:true,             slidesPerView:"auto",             onTransitionEnd:function(swiper){                 var activeIndex = swiper.activeIndex;                 if(isNaN(activeIndex)){                     return;                 }                 // 计算这个月有多少天                 currentMonth = parseInt($(swiper.slides[activeIndex+2]).attr("data-month"));                 updateDateSwiper();             }         });         var monthSlides=[];         for(var i=1;i<=12;i++){             monthSlides.push(""+i+"月");         }         monthSwiper.appendSlide(monthSlides);         monthSwiper.appendSlide(monthSlides);         monthSwiper.appendSlide(monthSlides);         dateSwiper = new Swiper(".ys-datetime-date-block .swiper-container", {             direction :"vertical",             loop : true,             freeMode:true,             freeModeMomentumRatio:0.2,             freeModeSticky:true,             slidesPerView:"auto",             onTransitionEnd:function(swiper){                 var activeIndex = swiper.activeIndex;                 if(isNaN(activeIndex)){                     return;                 }                 // 计算这个月有多少天                 currentDate = parseInt($(swiper.slides[activeIndex+2]).attr("data-date"));             }         });         var dateSlides=[];         for(var i=1;i<=currentDayCount;i++){             dateSlides.push(""+i+"日");         }         dateSwiper.appendSlide(dateSlides);     }     /* ======================================== bind events ======================================== */     function bindEvents(){         container.on("click",function(e){             e.stopPropagation();             e.preventDefault();             container.find(".ys-datetime-selector-content").addClass("datetime-selector-slide-down-out");         });         container.on("click",".ys-datetime-selector-content",function(e){             e.stopPropagation();             e.preventDefault();         });         container.on("click",function(e){e.preventDefault();e.stopPropagation();});         container.on("click",".ys-datetime-cancel-btn",function(e){             e.stopPropagation();             e.preventDefault();             container.find(".ys-datetime-selector-content").addClass("datetime-selector-slide-down-out");         });         container.on("click",".ys-datetime-ok-btn",function(e){             e.stopPropagation();             e.preventDefault();             callback(currentYear,currentMonth,currentDate);             container.find(".ys-datetime-selector-content").addClass("datetime-selector-slide-down-out");         });         container.find(".ys-datetime-selector-content").on("animationend webkitAnimationEnd",function(){             if($(this).hasClass("datetime-selector-slide-down-out")){                 container.addClass("display-hide");             }             $(this).removeClass("datetime-selector-slide-down-in").removeClass("datetime-selector-slide-down-out");         });     }     var initialized = false;     function init(){         if(initialized){             return;         }         initialized = true;         render();         bindEvents();     }     /* ======================================== common methods ======================================== */     function getMaxDateInMonth(year,month){         var date = new Date();         date.setFullYear(year);         date.setMonth(month);         date.setDate(0);         return date.getDate();     }     function updateDateSwiper(){         var nextDayCount = getMaxDateInMonth(currentYear,currentMonth);         if(currentDayCount>nextDayCount){             for(var i=currentDayCount-1;i>=nextDayCount;i--){                 dateSwiper.removeSlide(i);             }         }else if(currentDayCount"+i+"日");             }         }         currentDayCount = nextDayCount;         currentDate = parseInt($(dateSwiper.slides[dateSwiper.activeIndex+2]).attr("data-date"));     }     function showDateTime(options){         options = options||{};         var year = options.year;         var month = options.month;         var date = options.date;         var type = options.type||"year-month-date";         if(type=="year-month-date"){             container.find(".ys-datetime-year-block").removeClass("block-hide").removeClass("width-50").removeClass("width-100");             container.find(".ys-datetime-month-block").removeClass("block-hide").removeClass("width-50").removeClass("width-100");             container.find(".ys-datetime-date-block").removeClass("block-hide").removeClass("width-50").removeClass("width-100");         }else if(type=="year-month"){             container.find(".ys-datetime-date-block").addClass("block-hide");             container.find(".ys-datetime-year-block").addClass("width-50").removeClass("width-100").removeClass("block-hide");             container.find(".ys-datetime-month-block").addClass("width-50").removeClass("width-100").removeClass("block-hide");         }else if(type=="year"){             container.find(".ys-datetime-date-block").addClass("block-hide");             container.find(".ys-datetime-month-block").addClass("block-hide");             container.find(".ys-datetime-year-block").addClass("width-100");         }         callback = options.callback||callback;         currentYear = year||currentYear;         currentMonth = month||currentMonth;         currentDate = date||currentDate;         currentDayCount = getMaxDateInMonth(currentYear,currentMonth);         var yearSlidesLength = yearSwiper.slides.length;         var minYear = parseInt($(yearSwiper.slides[2]).attr("data-year"));         var maxYear = parseInt($(yearSwiper.slides[yearSlidesLength-3]).attr("data-year"));         if(currentYearcurrentYear-20;i--){                 prevYears.push(""+i+"年");             }             yearSwiper.prependSlide(prevYears);             yearSwiper.slideTo(17);         }else if(currentYear>maxYear){             var nextSlides = [];             for(var i=maxYear+2;i<=currentYear+20;i++){                 nextSlides.push(""+i+"年");             }             yearSwiper.appendSlide(nextSlides);             yearSwiper.slideTo(currentYear-minYear+1);         }else{             yearSwiper.slideTo(currentYear-minYear);         }         monthSwiper.slideTo(currentMonth+9);         dateSwiper.slideTo(currentDayCount-3+currentDate);         container.removeClass("display-hide");         container.find(".ys-datetime-selector-content").addClass("datetime-selector-animated").addClass("datetime-selector-slide-down-in");     }     var DateTimeWidget = {         show:function(options){             init();             showDateTime(options);         }     };     window.DateTimeWidget = DateTimeWidget; })(jQuery);

datetime.html


    
    
    
    
    
    
    
    
    

    
    
    






    
    

HTML5 自定义日历控件


标题名称:HTML5自定义日历控件
文章URL:http://xdwzjz.cn/article/ijsphp.html
Top