欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 就是这个样的粗爆,手搓一个计算器:排卵计算器

就是这个样的粗爆,手搓一个计算器:排卵计算器

2025/2/24 13:00:49 来源:https://blog.csdn.net/yuchangchenTT/article/details/143148772  浏览:    关键词:就是这个样的粗爆,手搓一个计算器:排卵计算器

       作为程序员,没有合适的工具,就得手搓一个,PC端,移动端均可适用。废话不多说,直接上代码。

HTML:

<div class="container">
<div class="calculator">
<label for="last-period">上次月经开始日期:</label> 
<input id="last-period" type="date"> 
<label for="cycle-length">月经周期(天数):</label> 
<input id="cycle-length" type="number" placeholder="输入您的月经周期天数">
<button onclick="calculateOvulation()">计算</button>
</div>
<div class="result align-left">
<p class="align-center">计算结果</p>
<p id="ovulation-period"></p>
<p id="safe-period-before"></p>
<p id="safe-period-after"></p>
<p id="menstrual-period"></p>
<p id="explanation"></p>
</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;}// 计算排卵日(下次月经前14天)const ovulationDate = new Date(lastPeriodDate);ovulationDate.setDate(lastPeriodDate.getDate() + cycleLength - 14);// 计算安全期和月经期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 = `月经期: ${menstrualPeriodStart.toLocaleDateString('zh-CN', options)} - ${menstrualPeriodEnd.toLocaleDateString('zh-CN', options)}。`;document.getElementById('explanation').textContent = "排卵期一般在下次月经来潮前的14天左右," +"排卵前安全期是从上次月经结束到排卵日前5天," +"排卵后安全期是从排卵日到下次月经开始。";
}

CSS:

.container {background-color: white;padding: 20px;border-radius: 8px;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);max-width: 400px;width: 100%;text-align: center;
}.calculator {margin-bottom: 20px;
}label {display: block;margin: 10px 0 5px;font-weight: bold;color: #555;font-size: 18px;
}input {width: 100%;padding: 8px;margin-bottom: 10px;border: 1px solid #ddd;border-radius: 4px;
}button {background-color: #4CAF50;color: white;padding: 10px 20px;border: none;border-radius: 4px;cursor: pointer;margin-top: 10px;font-size: 16px;width: 100%;display: block;
}button:hover {background-color: #45a049;
}p {font-size: 18px;color: #333;margin-top: 10px;
}

  线上运行,可以直接打开:排卵计算器

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词