首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

只显示小时分钟的js时间控件

要创建一个只显示小时和分钟的JavaScript时间控件,你可以使用HTML、CSS和JavaScript来实现。以下是一个简单的示例:

HTML

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Time Picker</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="time-picker">
        <input type="text" id="timeInput" readonly>
        <div id="timePickerDropdown" class="time-picker-dropdown">
            <!-- Time options will be populated here -->
        </div>
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS (styles.css)

代码语言:txt
复制
.time-picker {
    position: relative;
    display: inline-block;
}

.time-picker-dropdown {
    display: none;
    position: absolute;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 10px;
    z-index: 1000;
}

.time-picker-dropdown.show {
    display: block;
}

JavaScript (script.js)

代码语言:txt
复制
document.addEventListener('DOMContentLoaded', function() {
    const timeInput = document.getElementById('timeInput');
    const timePickerDropdown = document.getElementById('timePickerDropdown');

    // Generate time options
    for (let hour = 0; hour < 24; hour++) {
        for (let minute = 0; minute < 60; minute += 5) { // Increment by 5 minutes
            const timeOption = document.createElement('div');
            timeOption.textContent = `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;
            timeOption.classList.add('time-option');
            timeOption.addEventListener('click', function() {
                timeInput.value = timeOption.textContent;
                timePickerDropdown.classList.remove('show');
            });
            timePickerDropdown.appendChild(timeOption);
        }
    }

    // Show/hide dropdown on input click
    timeInput.addEventListener('click', function() {
        timePickerDropdown.classList.toggle('show');
    });

    // Hide dropdown when clicking outside
    window.addEventListener('click', function(event) {
        if (!event.target.closest('.time-picker')) {
            timePickerDropdown.classList.remove('show');
        }
    });
});

基础概念

  • HTML: 用于构建网页的结构。
  • CSS: 用于设置网页的样式。
  • JavaScript: 用于实现网页的交互功能。

优势

  1. 用户友好: 提供直观的时间选择界面,减少用户输入错误。
  2. 灵活性: 可以自定义时间的显示格式和步长(例如,每5分钟一个选项)。
  3. 易于集成: 可以轻松嵌入到任何网页中。

类型

  • 静态时间控件: 预定义的时间选项。
  • 动态时间控件: 根据当前时间或其他条件动态生成时间选项。

应用场景

  • 表单填写: 在需要用户输入时间的表单中使用。
  • 日程管理应用: 帮助用户快速选择会议时间。
  • 在线预订系统: 如餐厅预订或机票预订。

可能遇到的问题及解决方法

  1. 时间格式不正确: 确保使用padStart方法来格式化小时和分钟,使其始终为两位数。
  2. 下拉菜单显示问题: 使用CSS控制下拉菜单的显示和隐藏,并确保点击外部区域时隐藏菜单。
  3. 性能问题: 如果时间选项非常多,可以考虑使用虚拟滚动技术来优化性能。

通过上述代码和解释,你应该能够创建一个简单且功能齐全的时间控件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • easyUI的时间控件

    大家好,又见面了,我是你们的朋友全栈君。 以前没怎么用过easyUI,今天用到时间控件,又了解到了一点东西:在页面中通过js添加控件,需要主动渲染。...js 动态的添加的时候,使用append添加 container.append('开始时间'); 在页面只是一个文本框,右侧不显示选择时间的小按钮,控件不能加载 查询的得知,easyUI属性的加载是在渲染页面的时候完成,当页面渲染完成之后...,通过js动态调用再添加的easyUI的控件就不再起效果,需要手动的进行加载,于是添加: $.parser.parse(container); 这样就可以将新添加了easyui-datetimebox属性加载到页面...但是在获取数据的时候又出现问题,通过id无法获取值,通过调试得到,时间控件会生成一个隐藏域,里面是选择的时间,但是这个隐藏域里没有id属性,但是有name属性,于是使用name可以获取值 $("input

    2.1K20

    时间控件(选择时间范围的插件)「建议收藏」

    这个是最开始,我采用的是两个时间插件,其他也没啥,就是运营部门使用起来可能感觉太麻烦,为啥不能一次让我选了,还有说老是忘记选择结束时间,然后就有了我接下来的工作。。。.../JS 的书写与组织形式,门槛极低,拿来即用。...这个很有研究意义,可以多思考哟 作为时间插件使用,请点击:到layDate插件使用案例 这里面有你想用的几乎全部功能,看一下我使用后的页面 这样运营同事使用起来更方便也一目了然,真的不错哟 最近又用到了这个时间控件...另外,需要用js代码段执行一个laydate实例 //日期范围,指定绑定的DOM元素 laydate.render({ elem...} ,done: function(value, date, endDate){//控件选择完毕后的回调---点击日期、清空、现在、确定均会触发。

    5.4K20

    Flutter 日期时间DatePicker控件及国际化

    firstDate表示开始时间,设置后,选择器不能选择小于此值的时间。 lastDate表示结束时间,设置后,选择器不能选择大于此值的时间。...showDatePicker方法是Future方法,点击日期选择控件的“确定按钮后,返回选择的日期。 效果如下: ?...builder参数用于控制子控件,可以向DatePicker一样设置深色主题,还可以设置其显示24小时,用法如下: showTimePicker( context: context, initialTime...mode参数设置日期的格式: time:只显示时间,效果:4 | 14 | PM date:只显示日期,效果:July | 13 | 2012 dateAndTime:时间和日期都显示,效果: Fri...设置只显示小时和分钟: CupertinoTimerPicker( mode: CupertinoTimerPickerMode.hm, ... ) 默认情况下,CupertinoTimerPicker

    2.1K20

    PHP 实现时间戳转化为几分钟前、几小时前等格式

    一.PHP最近遇到了后台接口需要给前端传递时间新格式,由于是报警和显示作用,所以就以社交软件上长显示的格式为准,整理了下时间格式。...二.封装的时间转换函数,大体都是按照业务来的,小伙伴们可以在优化function get_last_time($time) 三.如果需要几周前、几月前啥的可以自己调一下比较的时间即可。...于是开始和同事正式解决这个问题, 最终发现是由于函数的时区原因导致,time() 返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数.上面是 time...() 函数在手册中的说明, 重点是格林威治时间, time() 始终返回的是格林威治时间的时间戳....当PHP设置过时区后, date() 在格式化时间的操作中会将 (当前时区的时间 - 格林威治时间) 的偏移量自动添加进去, 按东八区的时间算也就是8小时. strtotime() 同样会自动将时区的偏移量加入处理操作中

    1.9K10
    领券