就是這個(gè)樣的粗爆,手搓一個(gè)計(jì)算器:排卵計(jì)算器

線上運(yùn)行,可以直接打開:排卵計(jì)算器(在線計(jì)算器)

? ? ? ?作為程序員,沒有合適的工具,就得手搓一個(gè),PC端,移動(dòng)端均可適用。廢話不多說,直接上代碼。

HTML:

<div class="container"><div class="calculator"><label for="last-period">上次月經(jīng)開始日期:</label> <input id="last-period" type="date"> <label for="cycle-length">月經(jīng)周期(天數(shù)):</label> <input id="cycle-length" type="number" placeholder="輸入您的月經(jīng)周期天數(shù)"><button onclick="calculateOvulation()">計(jì)算</button><div class="result align-center"><div class="align-center">計(jì)算結(jié)果</div><div id="ovulation-period"></div><div id="safe-period-before"></div><div id="safe-period-after"></div><div id="menstrual-period"></div><div id="explanation"></div></div></div></div>

JS:

function calculateOvulation() { const lastPeriodDate = new Date(document.getElementById('last-period').value); const cycleLength = parseInt(document.getElementById('cycle-length').value); if (!lastPeriodDate || isNaN(cycleLength)) { document.getElementById('explanation').textContent = "請輸入有效的日期和周期長度。"; return; } // 計(jì)算排卵日(下次月經(jīng)前14天) const ovulationDate = new Date(lastPeriodDate); ovulationDate.setDate(lastPeriodDate.getDate() + cycleLength - 14); // 計(jì)算安全期和月經(jīng)期 const safePeriodBeforeStart = new Date(lastPeriodDate); const safePeriodBeforeEnd = new Date(ovulationDate); safePeriodBeforeEnd.setDate(ovulationDate.getDate() - 19); const safePeriodAfterStart = new Date(ovulationDate); safePeriodAfterStart.setDate(ovulationDate.getDate() + 1); const safePeriodAfterEnd = new Date(lastPeriodDate); safePeriodAfterEnd.setDate(lastPeriodDate.getDate() + cycleLength - 1); const menstrualPeriodStart = new Date(lastPeriodDate); const menstrualPeriodEnd = new Date(lastPeriodDate); menstrualPeriodEnd.setDate(lastPeriodDate.getDate() + 4); const options = { year: 'numeric', month: 'long', day: 'numeric', weekday: 'long' }; document.getElementById('ovulation-period').textContent = `排卵期: ${ovulationDate.toLocaleDateString('zh-CN', options)}。`; document.getElementById('safe-period-before').textContent = `排卵前安全期: ${safePeriodBeforeStart.toLocaleDateString('zh-CN', options)} - ${safePeriodBeforeEnd.toLocaleDateString('zh-CN', options)}。`; document.getElementById('safe-period-after').textContent = `排卵后安全期: ${safePeriodAfterStart.toLocaleDateString('zh-CN', options)} - ${safePeriodAfterEnd.toLocaleDateString('zh-CN', options)}。`; document.getElementById('menstrual-period').textContent = `月經(jīng)期: ${menstrualPeriodStart.toLocaleDateString('zh-CN', options)} - ${menstrualPeriodEnd.toLocaleDateString('zh-CN', options)}。`; document.getElementById('explanation').textContent = "排卵期一般在下次月經(jīng)來潮前的14天左右," + "排卵前安全期是從上次月經(jīng)結(jié)束到排卵日前5天," + "排卵后安全期是從排卵日到下次月經(jīng)開始。"; }

?CSS:

.calculator { width: 100%; background-color: #333; color: white; padding: 20px; border-radius: 10px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); } label { display: block; margin-bottom: 10px; font-size: 16px; } input, select { width: 100%!important; padding: 10px!important; margin-bottom: 20px; color: #000000; border-radius: 5px; border: 1px solid #555; font-size: 16px!important; background-color: #ffffff!important; } button { width: 100%; padding: 10px; background-color: #007bff; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; } button:hover { background-color: orange; } .result { font-size: 18px; margin-top: 20px; text-align: center; } option { background-color: #ffffff; } p { font-size: 18px; margin-top: 5px!important; }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容