最近开发的一个模拟时钟的时间选择器 ClockPicker,用于 Bootstrap,或者单独作为一个 jQuery 插件。

源代码托管在 GitHub 上: ClockPicker

最近项目中需要用到一个时间选择器,之前用到的 bootstrap-datetimepicker 在选择日期时蛮好用,但是它的时间选择(时:分)却有点别扭,后来发现 Android 上调闹铃时的选择器挺不错,于是决定自己开发一个类似的模拟时钟的时间选择器。

最开始只是打算做一个用于 Bootstrap 的组件,后来发现我只是用了 Bootstrap 的 .popover 和一些 .btn 的样式,于是我将这些样式取出来,让它同时支持单独作为一个 jQuery 插件。

先看看截图,使用过 Android 手机的亲人们对此应该不陌生:

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

最新文章

  1. JS-数组冒泡排序
  2. Android 向系统日历中添加事件
  3. sql中 in , not in , exists , not exists效率分析
  4. css兼容性的问题
  5. http协议了解
  6. lintcode: 把排序数组转换为高度最小的二叉搜索树
  7. -AC自动机-题表
  8. Apache 与tomcat区别
  9. 文件上传,服务端压缩文件方法,重点是png与gif图片的压缩,保证了透明度与动画
  10. java新知识系列 五
  11. hdu5705
  12. 【Tomcat】上线部署tomcat。常用命令
  13. 初见jQuery EasyUI
  14. C#发邮件_EmailHelper
  15. 运行Spark-shell,解决Unable to load native-hadoop library for your platform
  16. UVA1451 Average
  17. hdu3397区间覆盖,区间翻转,区间合并,区间求和
  18. ref 参数与out参数
  19. ESET官方下载地址
  20. php 扫描 下载 apk

热门文章

  1. C#执行javascript代码
  2. ASP.NET Web.Config 读资料 (学习笔记)
  3. XJOI网上同步测试DAY14 T2
  4. CSS定位属性Position详解
  5. fiddler Composer 构建请求
  6. POJ 2135 Farm Tour
  7. js中iframe的用法
  8. HDU_2058——等差数列,子集,集合长度判断
  9. HDU_2051——十进制到二进制转换
  10. Apache Hadoop最佳实践和反模式