我用事件制作日歷。每個事件都有開始時間和結束時間(兩個日期)。我想讓每個事件的高度動態化,這取決于事件持續時間(與開始和結束的差異)。
每次日歷中的單元格都有固定的高度 - 它的 63px。每個單元格持續時間 - 15 分鐘。我會很高興并感謝你的幫助
uj5u.com熱心網友回復:
如果我對您的理解正確,您每天每 15 分鐘都有一個固定的高度,對嗎?
現在,如果您知道開始和結束時間,您可以將持續時間計算為end - start。為此,您最好先將結束日期和開始日期都轉換為分鐘。我不知道你如何存盤時間資料,也許你有開始和結束時間的小時和分鐘,或者其他什么,但你需要將它轉換成分鐘(即早上 6:30 變成 6 * 60 30,即從那天開始算起的分鐘數。然后減去end - start,得到事件的持續時間(以分鐘為單位)。
現在,一旦您以分鐘為單位計算事件的持續時間就很容易了,因為您每 15 分鐘都有一個固定的高度。簡單計算一下(duration / 15) * fixedHeightForCell。這個公式的原因是您想查看您的事件填充了多少個單元格(即有多少 15 分鐘適合事件的持續時間),然后將其乘以單元格的高度。
上面的公式可能會為您提供十進制值(即 300.4325 像素),這對于像素當然沒有意義。這只發生在您的持續時間不是 15 的倍數時(即當您的事件不完全與一定數量的單元格一樣長時)。由于十進制值對像素沒有意義,您可以簡單地將這些結果四舍五入(即Math.round((duration / 15) * fixedHeightForCell).
希望這有幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/463272.html
標籤:javascript
上一篇:遞回獲取狀態等于一的嵌套陣列
下一篇:角專案更新
