JS不靠谱系列之枚举出时间段和对应的分钟数

本文介绍如何使用JavaScript将选择的时间段转换为分钟数。通过手动创建数组映射,遍历匹配值来实现。内容包括实现思路、功能说明、代码展示和问题答疑,提供了遍历时间段和步长的示例。
摘要由CSDN通过智能技术生成

前言

今天遇到一个需求,是把选择时间段转为分钟数提交上去的;
所以想手动写个数组一一映射,提交的时候遍历下匹配的值提交.

比如 : 00:000分钟或者1440分钟; 00:1030分钟;

具体看下面的

  • 2017-8-17 : 加入遍历功能呢
 参数: 
 value : string || Array
 type : 'formatTime' || 'number'
 返回:
 string || Array

效果图

这里写图片描述

实现思路及功能

思路

  1. 一天的分数很容易换算出来: 24 * 60 = 14400;
  2. 字符串拼接要用到求余,还有小于10补0;

功能

  • 可以切割任何周期分数(可以整除的数值),比如5,10,30,60这种分钟周期
  • 默认周期30分钟

你能拿来干啥!

  • 写一个时间段选择的组件,当然这里只是单纯拿值

代码实现


// 枚举出分钟
export function enumTime(step=30) {
   
  let temp = []; // 储存结果集
  let alLCount = 86400 / 60 / step;
  let hourCount = 60 / step;
  let hour = 0; // 小时
  let minute = 0; // 小时内的分钟

  for (let i = 0; i < alLCount; i++) {
   
    if (i === 0 && hour === 0) {
   
      temp.push({
   
        text: "00:00",
        value: step * i
      });
    } else {
   
      if (step * i % 60 === 0) {
   
        minute = 0;
        hour = hour + 1;
      } else {
   
        minute = step * i % 60;
      }
      minute = minute < 10 ? "0" + minute : minute;
      temp.push({
   
        text:
          parseInt(hour, 10) < 10
            ? "0" + hour + ":" + minute
            : hour + ":" + minute,
        value: step * i
      });
    }
  }
  return temp;
  console.log(temp);
}
  • 遍历功能
function enumHourTime(value, type = "formatTime") {
   
  const TimeList = ((step = 30
实现移动端滑块显示对应时间小时和分钟,可以使用HTML5的input元素中的range类型,结合JavaScript进行实现。具体步骤如下: 1. 创建一个input元素,设置type为range,同时设置min、max、step等属性,用于控制滑块的取值范围和步长。 2. 在页面中创建两个span元素,用于显示当前选中的小时和分钟。 3. 使用JavaScript监听input元素的change事件,获取当前选中的值,并将其转换为小时和分钟。 4. 将转换后的小时和分钟显示在对应的span元素中。 代码示例: HTML: ```html <div> <input type="range" min="0" max="1439" step="1" onchange="showTime()"/> <div> <span id="hour">00</span>:<span id="minute">00</span> </div> </div> ``` CSS: ```css input[type=range] { width: 100%; } div { text-align: center; margin-top: 50px; } span { font-size: 30px; } ``` JavaScript: ```javascript function showTime() { let time = document.querySelector('input[type=range]').value; let hour = Math.floor(time / 60); let minute = time % 60; document.getElementById('hour').innerHTML = hour.toString().padStart(2, '0'); document.getElementById('minute').innerHTML = minute.toString().padStart(2, '0'); } ``` 通过以上代码,可以实现一个移动端滑块显示对应时间小时和分钟的功能。其中,input元素设置了type为range,min、max、step等属性,用于控制滑块的取值范围和步长。使用JavaScript监听input元素的change事件,获取当前选中的值,并将其转换为小时和分钟。最后,将转换后的小时和分钟显示在对应的span元素中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值