vue项目中事项显示秒杀倒计时效果-限定开始和结束时间
页面结构
<!-- 限时秒杀 -->
<div class="left">
<p class="txt1">限时秒杀</p>
<p class="txt2">{{ !seckill.title ? '每天零点场 好货秒不停' : seckill.title }}</p>
<div v-if="seckill.length !== 0">
<p class="txt3">
<span>{{h}}</span>
<i>:</i>
<span>{{m}}</span>
<i>:</i>
<span>{{s}}</span>
<b>秒杀</b>
</p>
<img :src="seckill.img" @click="$router.push('/detail/'+seckill.goodsid)" />
</div>
<div class="nul" v-else>
<i class="iconfont icon-rocketspacebus"></i>
<h2>暂无秒杀商品</h2>
</div>
<span v-show="seckill.length == null">
<!-- <i>¥</i> -->
{{seckill.price | formatPrice()}}
</span>
</div>
处理函数过程
// 验证秒杀开始时间是否过期
if (
new Date().getTime() >= parseInt(this.seckill["begintime"]) &&
new Date().getTime() <= parseInt(this.seckill["endtime"])
) {
// 在开始和结束时间范围内
console.log(
new Date().getTime() >= parseInt(this.seckill["begintime"])
);
console.log(
new Date().getTime() <= parseInt(this.seckill["endtime"])
);
// 计算当前时间 - 结束时间
let time = Math.abs(new Date().getTime() - parseInt(this.seckill["endtime"]));
//转成秒
time /= 1000;
// 天
let d = parseInt(time / 86400);
// 时
let h = parseInt((time % 86400) / 3600);
// 分
let m = parseInt((time % 3600) / 60);
// 秒
let s = parseInt(time % 60);
let t = setInterval(() => {
s--;
if (s < 0) {
m--;
s = 59;
}
if (m < 0) {
h--;
m = 59;
}
if (h < 0) {
d--;
h = 23;
}
if (d < 0) {
d = h = m = s = 0;
clearInterval(t); //清除定时器
}
this.h = h < 10 ? "0" + h : h;
this.m = m < 10 ? "0" + m : m;
this.s = s < 10 ? "0" + s : s;
// console.log(d, h, m, s, 111111);
}, 1000);
} else {
console.log('秒杀过期');
this.seckill = [];
}
本文来自博客园,作者:JackieDYH,转载请注明原文链接:https://www.cnblogs.com/JackieDYH/p/17634630.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现