<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Steven

    You're?still?young --that's?your?fault

     

    【轉】幾個前端時間插件總結

    幾個前端時間插件總結

    總結一下幾款時間插件,分別是 
    - [ ] jeDate 下載地址 
    - [ ] bootstrap-datetimepicker 下載地址 
    - [ ] My97DatePicker 下載地址 
    - [ ] jQuery UI 插件Datepicker 下載地址

    并沒有哪款完全超越另外一款,主要還是看是否合適吧。 
    首先說一下現在項目就在用的 jeDate吧。

    jeDate

    這里寫圖片描述 
    這里寫圖片描述 
    eDate除了包含日期范圍限制、開始日期設定、自定義日期格式、時間戳轉換、當天的前后若干天返回、時分秒選擇、智能響應、自動糾錯、節日識別,操作等常規功能外,還擁有更多趨近完美的解決方案。 
    目前只適合PC端。 
    因為是最近新出的,功能比較完善,支持風格切換,顯示節假日,還有很多強大的功能。 
    Alt textAlt text 
    如上圖所看到的,jeDate 的界面這個樣子,值得一提的是,一般時間的input 輸入框 是設置為只讀的。所以需要其時間插件內部提供清空 調用功能。而下面要說的 bootstrap-datetimepicker 就沒有提供這個功能,需要自己修改實現。 
    同其他插件不同的地方在于,下方有時分秒的選項。點擊進入相應的設置界面。需要注意的是 js 中調用方法設置前面后面時間相互制約的限制 
    代碼如下

    var startDate = jeDate({     dateCell:"#start-date",     format:"YYYY-MM-DD hh:mm:ss",     isTime:true,     isinitVal:true,     minDate:jeDate.now(0),     choosefun:function(val) {         endDate.config.minDate = val;         requireDate.config.minDate = val;         $("#start-date").blur();     },     okfun:function(val) {         endDate.config.minDate = val;         requireDate.config.minDate = val;         $("#start-date").blur();     } }); var endDate = jeDate({     dateCell:"#end-date",     format:"YYYY-MM-DD hh:mm:ss",     isTime:true,     minDate:jeDate.now(0),     choosefun:function(val) {         startDate.config.maxDate = val;         $("#end-date").blur();     },     okfun:function(val) {         startDate.config.maxDate = val;         $("#end-date").blur();     } });  var requireDate = jeDate({     dateCell:"#require-date",     format:"YYYY-MM-DD",     isTime:false,     minDate:jeDate.now(0) }); 

    具體參考相關的API

    bootstrap-datetimepicker

    這里寫圖片描述 
    設置前后時間互相制約的方法

    // 初始化第三方插件 ArticleManager.prototype.initVendorComponent = function() {     // 初始化時間插件     // 設置只能選今天以前的時間     $('#createBeginDate').datetimepicker(datetimePickerOptions).on('show',function(e) {             $('#createBeginDate').datetimepicker('setEndDate',new Date());});     $('#createBeginDate').datetimepicker(datetimePickerOptions).on('changeDate',function(e) {             $('#createBeginDate').datetimepicker('setEndDate',new Date());             $('#createEndDate').datetimepicker('setStartDate',$(this).val());});     // 設置只能選今天以前的時間     $('#createEndDate').datetimepicker(datetimePickerOptions).on('show',function(e) {                 $('#createEndDate').datetimepicker('setEndDate', new Date());             });     $('#createEndDate').datetimepicker(datetimePickerOptions).on('changeDate',function(e) {                 $('#createEndDate').datetimepicker('setEndDate', new Date());                 $('#createBeginDate').datetimepicker('setStartDate',$(this).val());}); }; 

    Alt text

    和上面圖中所看到的,一個主要的缺陷就是沒有原生的清除所選擇日期按鈕。 
    我們項目原來用的就是這個插件,后來手動在原生js里面加入了清除按鈕。 
    但去除這一點,這個插件也是沒什么問題的。風格是原生的bootstrap 風格,如果需要修改,需要自己個性化定制。 
    但其實也給出了沒有清除按鈕的解決辦法,forceParse 方法,設置為true 會強制更改用戶輸入的值,轉變為符合規定的近似的值,也就是說這樣的話不必把輸入框設置成只讀的了。 
    點到為止,其他歡迎去看官方API。這個插件總體上來說也是沒什么問題的。

    jquery UI 插件Datepicker

    這里寫圖片描述

    目前就我所知,jquery UI 并不是很火的樣子,現在前端這些框架更新迭代都很快,以前一些老項目確實有很多直接基于這種框架去做的,組件規范化。使得我們這些后端人員也能做出像模像樣的前端頁面,但是到現在的互聯網確實不夠用了。這就需要專業的前端人員和設計人員了,畢竟如果只是單獨給企業做項目,更加注重功能的實現,而現在的項目更加注重體驗。

      //等待dom元素加載完畢.       $(function(){           $("#selectDate").datepicker({//添加日期選擇功能           numberOfMonths:1,//顯示幾個月           showButtonPanel:true,//是否顯示按鈕面板           dateFormat: 'yy-mm-dd',//日期格式           clearText:"清除",//清除日期的按鈕名稱           closeText:"關閉",//關閉選擇框的按鈕名稱           yearSuffix: '年', //年的后綴           showMonthAfterYear:true,//是否把月放在年的后面           defaultDate:'2011-03-10',//默認日期           minDate:'2011-03-05',//最小日期           maxDate:'2011-03-20',//最大日期           monthNames: ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],           dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],           dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],           dayNamesMin: ['日','一','二','三','四','五','六'],           onSelect: function(selectedDate) {//選擇日期后執行的操作               alert(selectedDate);           }           });       });   

    如上圖所示,原生的也是沒有日期的清除和時間的限制(這個不確定了)

    現在不是經常使用的插件,但如果需要還是沒有問題的,可能需要個性化定制一些。

    My97DatePicker

    這里寫圖片描述 
    Alt text

    時間比較久遠的一款插件,功能還算豐富,支持日期輸入查詢。 
    這里我就不再多說。

    起始日期功能 

    注意:日期格式必須與 realDateFmt 和 realTimeFmt 一致而不是與 dateFmt 一致

    有時在項目中需要選擇生日之類的日期,而默認點開始日期都是當前日期,導致年份選擇非常麻煩,你可以通過起始日期功能加上配置alwaysUseStartDate屬性輕松解決此類問題

    日期的范圍限制也算比價靈活

    靜態限制 
    注意:日期格式必須與 realDateFmt 和 realTimeFmt 一致而不是與 dateFmt 一致

    你可以給通過配置minDate(最小日期),maxDate(最大日期)為靜態日期值,來限定日期的范圍

    <input type="text" class="Wdate" id="d414" onfocus="WdatePicker({dateFmt:'H:mm:ss',minDate:'8:00:00',maxDate:'11:30:00'})"/>
    • 1
    • 1

    動態限制

    你可以通過系統給出的動態變量,如%y(當前年),%M(當前月)等來限度日期范圍,你還可以通過{}進行表達式運算,如:{%d+1}:表示明天 
    動態變量表 
    格式 說明 
    %y 當前年 
    %M 當前月 
    %d 當前日 
    %ld 本月最后一天 
    %H 當前時 
    %m 當前分 
    %s 當前秒 
    {} 運算表達式,如:{%d+1}:表示明天

    F{} {}之間是函數可寫自定義JS代碼

    示例4-2-1 只能選擇今天以前的日期(包括今天)

    <input id="d421" class="Wdate" type="text" onfocus="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"/>
    • 1
    • 1

    示例4-2-2 使用了運算表達式 只能選擇今天以后的日期(不包括今天)

    <input id="d422" class="Wdate" type="text" onfocus="WdatePicker({minDate:'%y-%M-{%d+1}'})"/>
    • 1
    • 1

    示例4-2-3 只能選擇本月的日期1號至本月最后一天

    <input id="d423" class="Wdate" type="text" onfocus="WdatePicker({minDate:'%y-%M-01',maxDate:'%y-%M-%ld'})"/>
    • 1
    • 1

    示例4-2-4 只能選擇今天7:00:00至明天21:00:00的日期

    <input id="d424" class="Wdate" type="text" onfocus="WdatePicker({dateFmt:'yyyy-M-d H:mm:ss',minDate:'%y-%M-%d 7:00:00',maxDate:'%y-%M-{%d+1} 21:00:00'})"/>
    • 1
    • 1

    示例4-2-5 使用了運算表達式 只能選擇 20小時前 至 30小時后 的日期

    <input id="d425" class="Wdate" type="text" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',minDate:'%y-%M-%d {%H-20}:%m:%s',maxDate:'%y-%M-%d {%H+30}:%m:%s'})"/>
    • 1
    • 1

    暫時這這么多。



    梅花香自苦寒來

    posted on 2017-05-27 14:29 wen.ding 閱讀(234) 評論(0)  編輯  收藏 所屬分類: Best solution

    導航

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲综合精品成人| 亚洲成人黄色在线| 尤物视频在线免费观看| 国产一级一片免费播放i| 亚洲av无码一区二区三区人妖 | 一区二区三区视频免费| 免费一级e一片在线播放| 理论秋霞在线看免费| 亚洲欧洲自拍拍偷精品 美利坚| 人妻无码中文字幕免费视频蜜桃| 亚洲高清视频一视频二视频三| 人妻仑刮八A级毛片免费看| 亚洲一级特黄大片无码毛片 | av永久免费网站在线观看 | 天天摸天天操免费播放小视频 | 最近免费mv在线观看动漫| 亚洲成人午夜在线| 69天堂人成无码麻豆免费视频| 中文字幕无码亚洲欧洲日韩| 国产免费直播在线观看视频| japanese色国产在线看免费| 亚洲尤码不卡AV麻豆| 一级毛片免费观看不卡的| 亚洲另类精品xxxx人妖| 精品国产一区二区三区免费看| 成人在线免费视频| 亚洲伦另类中文字幕| 四虎成人免费大片在线| 一级毛片**免费看试看20分钟| 亚洲国产女人aaa毛片在线| 午夜色a大片在线观看免费| fc2成年免费共享视频18| 亚洲精品国产肉丝袜久久| 国产gav成人免费播放视频| 野花香高清在线观看视频播放免费 | 国产精品亚洲色婷婷99久久精品| 一本久久a久久精品亚洲| 国产四虎免费精品视频| 日亚毛片免费乱码不卡一区 | 亚洲综合偷自成人网第页色| 亚洲成a人片在线播放|