📜  EasyUI jQuery 时间选择器小部件(1)

📅  最后修改于: 2023-12-03 15:14:50.166000             🧑  作者: Mango

EasyUI jQuery 时间选择器小部件

EasyUI jQuery 时间选择器小部件是一个基于 jQuery 和 EasyUI 框架的开源时间选择器小部件。它可用于输入或选择时间,支持多种时间格式和语言,并具有丰富的 UI 定制能力。

前置要求
安装

您可以从 GitHub 下载源代码并自己编译,也可以使用 npmbower 等软件包管理工具下载:

npm install jquery-easyui-timespinner
bower install jquery-easyui-timespinner
使用

首先,请在 HTML 文件中引入 jquery.min.jsjquery.easyui.min.jsjquery.easyui.timespinner.js,以及各自的 CSS 文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>EasyUI jQuery 时间选择器小部件</title>
    <link rel="stylesheet" href="jquery.easyui.min.css">
    <link rel="stylesheet" href="jquery.easyui.timespinner.css">
</head>
<body>
    <input id="my-time" type="text">
    <script src="jquery.min.js"></script>
    <script src="jquery.easyui.min.js"></script>
    <script src="jquery.easyui.timespinner.js"></script>
    <script>
        $('#my-time').timespinner();
    </script>
</body>
</html>
API

以下是 EasyUI jQuery 时间选择器小部件支持的 API:

属性
  • disabled: Boolean,该小部件是否禁用,默认为 false
  • editable: Boolean,用户是否能手动输入时间,默认为 true
  • formatter: Function,格式化时间的函数,默认为 null,表示使用本地格式。
    • 参数:时间对象,返回值:字符串。
  • increment: Number,增量值,可选 1510,默认为 1
  • parser: Function,解析时间的函数,默认为 null,表示使用本地格式。
    • 参数:字符串,返回值:时间对象。
  • required: Boolean,是否必填,默认为 false
  • readonly: Boolean,用户是否能编辑、删除时间,默认为 false
  • showSeconds: Boolean,是否显示秒,默认为 false
  • spinAlign: String,按钮的对齐方式,可选 'horizontal''vertical',默认为 'horizontal'
  • spinButtons: Boolean,是否显示调整按钮,默认为 true
  • spinButtonText: Function,获取调整按钮上的文本的函数,默认为 null
    • 参数:按钮类型,返回值:字符串。
  • timeSeparator: String,时间分隔符,默认为 ':'
  • value: String/Date,当前选中的时间,默认为 ''

以下是 EasyUI jQuery 时间选择器小部件提供的特有属性:

  • input: Selector,输入框 jQuery 选择器。
  • spinner: Selector,调整按钮 jQuery 选择器。
方法
  • enable(): 启用该小部件。
  • disable(): 禁用该小部件。
  • isValid(): 验证该小部件是否有效。
  • getValue(): 获取当前选中的时间,返回字符串。
  • setValue(value: String/Date): 设置当前选中的时间。
  • clear(): 清除当前选中的时间。
  • reset(): 重置该小部件。

以下是 EasyUI jQuery 时间选择器小部件支持的事件:

  • onHidePanel(): 当面板隐藏后触发。
  • onShowPanel(): 当面板显示后触发。
  • onSpinUp(): 当增量按钮向上时触发。
  • onSpinDown(): 当增量按钮向下时触发。
  • onSpinStart(): 当增量按钮开始调整时触发。
  • onSpinStop(): 当增量按钮结束调整时触发。
定制

使用 EasyUI jQuery 时间选择器小部件时,您可以使用 CSS 来美化 UI。EasyUI jQuery 时间选择器小部件提供了以下 CSS 类名:

  • .timespinner: 代表整个时间选择器小部件。
  • .timespinner-input: 代表输入框。
  • .timespinner-button: 代表增量按钮。
  • .timespinner-button-up: 代表增量按钮向上的箭头。
  • .timespinner-button-down: 代表增量按钮向下的箭头。
  • .timespinner-panel: 代表面板。
  • .timespinner-panel-content: 代表面板中的内容。
  • .timespinner-panel-header: 代表面板中的标题。
  • .timespinner-panel-footer: 代表面板中的按钮。

您可以使用这些类名来定义适合您的 UI 样式,例如:

.timespinner {
    border: 1px solid #ccc;
    border-radius: 3px;
    font-family: Arial, sans-serif;
    font-size: 12px;
    padding: 2px 4px;
}

.timespinner-input {
    background-color: #fff;
    border: none;
    height: 16px;
    margin: 0;
    padding: 2px;
    text-align: center;
    width: 60px;
}

.timespinner-button {
    background-color: #e6e6e6;
    border: 1px solid #ccc;
    border-radius: 3px;
    cursor: pointer;
    height: 10px;
    margin: 0;
    padding: 0;
    width: 16px;
}

.timespinner-button-up {
    border-bottom: none;
}

.timespinner-button-down {
    border-top: none;
}

.timespinner-panel {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
    margin-top: 2px;
    position: absolute;
    z-index: 9999;
}

.timespinner-panel-content {
    margin: 0;
    padding: 2px;
}

.timespinner-panel-header {
    background-color: #f7f7f7;
    border-bottom: 1px solid #ccc;
    border-radius: 3px;
    font-size: 12px;
    font-weight: bold;
    margin: 0;
    padding: 2px 4px;
    text-align: center;
}

.timespinner-panel-footer {
    text-align: center;
}
结语

EasyUI jQuery 时间选择器小部件是一个轻量、易于使用和定制的时间选择器小部件,它能够提升您的开发效率、降低开发成本和提高用户体验。我们欢迎您在 GitHub 上提交 bug 报告和 feature 请求,并欢迎您 fork 本仓库并进行贡献。