使用 HTML、CSS 和 JS 的简单倒数计时器

本文详细介绍了如何通过CSS调整背景、布局和文本样式,以及利用JavaScript创建一个动态的倒计时功能,适用于网页或应用中的日期计时需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    </div>

    <div class="time">

        <span id="time-minutes">-</span>

        <p>分</p>

    </div>

    <div class="time">

        <span id="time-seconds">-</span>

        <p>秒</p>

    </div>

</div> 



**CSS**



@import url(“https://fonts.googleapis.com/css2?family=Roboto&display=swap”);

  • {

    box-sizing: border-box;

    padding: 0;

    margin: 0;

}

body {

width: 100%;

min-height: 100vh;

font-family: “Roboto”, sans-serif;

background: url(“http://haiyong.site/wp-content/uploads/2021/09/3a2bd7324818ffb7fa6ed0e753a8d560.jpg”) no-repeat center/cover;

display: flex;

flex-direction: column;

align-items: center;

position: relative;

}




**效果图**



![在这里插入图片描述](https://img-blog.csdnimg.cn/38db10592cbf4c119aefa02500ed81c7.png#pic_center)



[]( )🥇 第 2 步:使用 CSS 代码完善整体样式

-----------------------------------------------------------------------------------



调暗背景



body::before {

  content: "";

  position: absolute;

  width: 100%;

  height: 100%;

  background: rgba(0, 0, 0, 0.5);

  z-index: -1;

}



container `<div>` 设为居中



.container {

  text-align: center;

  margin: 2rem auto 0;

  padding: 0 15px;

}



再将各部分元素分离开



.container > * {

  padding: 1rem;

}




设置h5字体大小



.container h5 {

 font-size: 2rem;

}




**效果**  

![在这里插入图片描述](https://img-blog.csdnimg.cn/971d10cdc9554bda86a9a877321edaa6.png#pic_center)



[]( )🏆 第 3 步:调节各部分元素的布局

------------------------------------------------------------------------------



.container form input {

padding: 10px 15px;

font-size: 1.2rem;

border: none;

border-right: 1px solid rgba(0, 0, 0, 0.5);

}			

.container form button {

font-size: 1.2rem;

outline: none;

border: none;

padding: 10px 15px;

background: #ffffff;

color: #b6281b;

cursor: pointer;

transition: 0.2s linear;

}

.container form button:hover {

background: #b6281b;

color: #ffffff;

}

.container h1 {

font-size: 3rem;

text-transform: uppercase;

}

.container h5, .container h1, .container p {

color: #ffffff;

text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);

}

.container p {

font-size: 1.2rem;

width: 80%;

margin: auto;

}

.container .hidden {

display: none;

}

.container .pickedTime {

display: flex;

flex-wrap: wrap;

justify-content: center;

align-items: center;

}

.container .pickedTime .time {

margin: 0.5rem;

padding: 0.5rem 1rem;

background: #ffffff;

}

.container .pickedTime .time span {

font-size: 2.5rem;

color: #b6281b;

}

.container .pickedTime .time p {

color: #000000;

width: 100%;

}

.container .boxes {

display: flex;

flex-wrap: wrap;

justify-content: center;

align-items: center;

}

.container .boxes .box {

background: #ffffff;

margin: 1rem;

padding: 1rem 2rem;

display: flex;

flex-direction: column;

text-align: center;

}

.container .boxes .box span {

color: #b6281b;

font-weight: bold;

font-size: 4rem;

}

.container .boxes .box p {

color: #000000;

width: 100%;

}



**效果**  

![在这里插入图片描述](https://img-blog.csdnimg.cn/2c4bb89240214533aa2c283b1df0ebe5.png#pic_center)



[]( )🍖 第 4 步:使用 JavaScript 代码激活它

---------------------------------------------------------------------------------------



现在我已经在 JavaScript 的帮助下实现了这个倒数计时器。我们需要获取用户设置了一个特定的日期`Date.parse`。也就是说,您必须确定要运行倒计时的时间。



➤ 一分钟等于 60 秒,所以在这种情况下 `m = s * 60`  

➤ 一小时等于 60 分钟,在这种情况下 `h = m * 60`  

➤ 一天等于 24 小时,所以在这种情况下 `d = h * 24`。  

➤ 一年等于 365天,所以在这种情况下 `y = d * 365`。



const s = 1000,

m = s * 60,

h = m * 60,

d = h * 24,

y = d * 365;



指示每1000 毫秒使用setInterval. 由于倒计时时间每秒都是间歇性的,所以这个系统需要每秒更新一次。



setInterval(() => {

counting();

}, 1000);




获取用户提供的时间



const date = document.getElementById(‘date’).value,

  time = document.getElementById('time').value,

  timeYears = document.getElementById('time-years'),

  timeDays = document.getElementById('time-days'),

  timeHours = document.getElementById('time-hours'),

  timeMinutes = document.getElementById('time-minutes'),

  timeSeconds = document.getElementById('time-seconds');



我使用的是`new Date ()`从设备中获取当前时间的方法。在这种情况下这里使用的时间不是任何服务器的时间,而是你设备的当地时间,然后使用了JavaScript 中的`Math.floor`



const interval = setInterval(() => {

 const pickedDate = new Date(`${date} ${time}`).getTime(),

     currentDate = new Date().getTime(),

     difference = pickedDate - currentDate,

     years = Math.floor(difference / y);



 if (years < 1) {

     timeYears.parentElement.style.display = 'none';

 } else {

     timeYears.parentElement.style.display = 'block';



 }

 timeYears.innerHTML = Math.floor(difference / y);

 timeDays.innerHTML = Math.floor((difference % y) / d);

 timeHours.innerHTML = Math.floor((difference % d) / h);

 timeMinutes.innerHTML = Math.floor((difference % h) / m);

 timeSeconds.innerHTML = Math.floor((difference % m) / s);

}, 1000);




**最终完整的 JavaScript 代码**



const s = 1000,

m = s * 60,

h = m * 60,

d = h * 24,

y = d * 365;

setInterval(() => {

counting();

}, 1000);

const formAddDate = document.getElementById(‘addDate’);

formAddDate.addEventListener(‘submit’, addTime);

function addTime(e) {
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

3)]

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值