因此,我尝试使用 Javascipt 操作 CSS,以便当用户单击该框时,它会显示我在该特定月份拥有的数据。我已经设法实现了它,但是感觉代码太多了,并且可以有一种更有效的方法来实现我想要做的事情。
<div class="calander-container">
<div class="months">
<p class="months-text">January</p>
</div>
<div class="months">
<p class="months-text">February</p>
</div>
<div class="months">
<p class="months-text">March</p>
</div>
<div class="months">
<p class="months-text">April</p>
</div>
<div class="months">
<p class="months-text">May</p>
</div>
<div class="months">
<p class="months-text">June</p>
</div>
<div class="months">
<p class="months-text">July</p>
</div>
<div class="months">
<p class="months-text">August</p>
</div>
<div class="months">
<p class="months-text">September</p>
</div>
<div class="months">
<p class="months-text">October</p>
</div>
<div class="months">
<p class="months-text">November</p>
</div>
<div class="months">
<p class="months-text">December</p>
</div>
</div>
以上是用于用户单击框以运行脚本的 HTML。
document.querySelector('.calander-container').addEventListener('click', (e) => {
const months = e.target.closest('.months');
if (!months) {
return;
}
const thisIndex = [...months.parentElement.children].indexOf(months);
const rallyPrint = document.querySelectorAll('.rallyPrint');
rallyPrint.forEach((div) => {
div.style.display = 'none';
});
rallyPrint[thisIndex].style.display = 'block';
});
以上是我正在使用的有效的Javascript。但是,每个月执行此功能十二次似乎效率不高。我觉得好像有更简单的方法可以实现这一点。如果有任何帮助,下面是我正在使用的 PHP。
jeck猫
慕标琳琳
HUX布斯
相关分类