js计算位置的问题?

比如我有一个高度为374px的盒子

<div ></div>

然后高度374px===24小时

就是如果我传时间00:00-0:29进去,他能在对应位置展示一个黑条,我传00:30-00:59也是

简单画个图

不知道我说明白了没有。。。

https://codepen.io/wangshaoji...

阅读 1.7k
2 个回答

计算 topheight,可以考虑用百分比,不受容器高度影响

关键计算代码

--s: calc(var(--sh) * 60 + var(--sm));
--e: calc(var(--eh) * 60 + var(--em));
top: calc(var(--s) / 1440 * 100%);
height: calc((var(--e) - var(--s) + 1) / 1440 * 100%);

效果

image.png

Pen: https://codepen.io/mannix-zho...

根据时间段算出top和bottom

function getPosition(time){
    // '00:30-00:59'
    let [st, et] = time.split('-')

    let [sh, sm] = st.split(':')
    let [eh, em] = et.split(':')
    
    let top = (sh * 60 + Number(sm)) / (24 * 60) * 374
    let bottom = (eh * 60 + Number(em)) / (24 * 60) * 374

    return {top, bottom}
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题