一個模擬時鍾的時間選擇器 ClockPicker


最近開發的一個模擬時鍾的時間選擇器 ClockPicker,用於 Bootstrap,或者單獨作為一個 jQuery 插件。

源代碼托管在 GitHub 上: ClockPicker

最近項目中需要用到一個時間選擇器,之前用到的 bootstrap-datetimepicker 在選擇日期時蠻好用,但是它的時間選擇(時:分)卻有點別扭,后來發現 Android 上調鬧鈴時的選擇器挺不錯,於是決定自己開發一個類似的模擬時鍾的時間選擇器。

最開始只是打算做一個用於 Bootstrap 的組件,后來發現我只是用了 Bootstrap 的 .popover 和一些 .btn 的樣式,於是我將這些樣式取出來,讓它同時支持單獨作為一個 jQuery 插件。

先看看截圖,使用過 Android 手機的親人們對此應該不陌生:

Screenshot

Demo

試試點擊下面的輸入框(按住指針可以拖動):

瀏覽器兼容性

支持所有主流瀏覽器,包括 IE 9+ 。理論上在 IE 8 下也能正常運行,除了沒有圓角邊框、指針效果外。不過我沒有仔細測試它在 IE 8 下的表現。

如果你的項目必須兼容 IE 6/7 ,你可能得另辟蹊徑!

設備兼容性

除了桌面設備外,它也能很好的支持移動設備。如果你使用觸摸屏設備,你可以拖動指針轉動。當然,桌面設備也可以按住鼠標進行拖動選擇。

另外,如果你的手機支持,在點選或拖動指針時,會有力學反饋哦。這個細節也是模仿自手機上的體驗。

使用

<!-- Bootstrap stylesheet and scripts -->

<!-- ClockPicker Stylesheet and script -->
<link rel="stylesheet" type="text/css" href="dist/bootstrap-clockpicker.min.css">
<script type="text/javascript" src="dist/bootstrap-clockpicker.min.js"></script>

<!-- Input group, just add class 'clockpicker', and optional data-* -->
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">
    <input type="text" class="form-control" value="09:32">
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-time"></span>
    </span>
</div>

<!-- Or just a input -->
<input id="demo-input" />

<script type="text/javascript">
$('.clockpicker').clockpicker()
    .find('input').change(function(){
        // TODO: time changed
        console.log(this.value);
    });

$('#demo-input').clockpicker({
    autoclose: true
});
</script>

對於非 Bootstrap 項目,直接使用 jquery-* 的文件(替換 bootstrap-* )即可。

選項參數

名稱 默認 說明
default '' 默認時間,如 '13:14'
placement 'bottom' 彈層位置
align 'left' 彈層箭頭對齊
donetext '完成' 完成按鈕文字
autoclose false 選定分鍾后自動關閉
vibrate true 拖動指針時小震一下手機

 

點擊下載項目壓縮包 ,里面的壓縮后的CSS小於6KB,JS則小於9KB。

更多示例可參見: http://weareoutman.github.io/clockpicker/

ClockPicker: Fork me on GitHub

 

這篇文章也發表在我的個人網站上: http://wangshenwei.com/article/clockpicker


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM