uview2.0自定义u-count-down倒计时

2023-10-28

1.效果展示
在这里插入图片描述
2.思路需要后端返回一个结束的时间戳(注意是毫秒时间戳,如果是秒需要在后面加3个0转为毫秒),获取当当前时间戳,当前时间戳减去商品结束的时间戳得出要倒计时的时间戳,然后再进行值得处理
3.代码展示

<template>
   <view>
									<u-count-down @finish='finish' ref="countDown" :time="times" format="DD:HH:mm:ss"
										autoStart millisecond @change="onChange">
										<view class="time1">
											<view class="time__item">{{ timeData.days }}&nbsp;</view>
											<view class="time__doc">:</view>
											<view class="time__item">
												{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}&nbsp;
											</view>
											<view class="time__doc">:</view>
											<view class="time__item">{{ timeData.minutes }}&nbsp;</view>
											<view class="time__doc">:</view>
											<view class="time__item">{{ timeData.seconds }}&nbsp;</view>
										</view>
									</u-count-down>
								</view>
</template>
<style lang="scss">
// 时间
	.time1 {
		@include flex;
		align-items: center;

		&__item {
			color: #F14747;
			font-size: 24rpx;
			text-align: center;
		}

		.time__item {
			background-color: #EC9D20;
			color: #fff;
			width: 40rpx;
			height: 40rpx;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 24rpx;

		}

		.time__doc {
			padding: 0 7rpx;
			color: #fff;
		}
	}
</style>
<script>
import utils from '@/utils/index.js'
	export default {
		data() {
			return {
			               times: null,
							timeData: {},
							kanjianinfo:{}
			    }
			    },
			   onLoad(){
			   this.uodate()
			   }, 
			   beforeDestroy() {
			this.$refs.countDown.reset();//页面销毁重置定时器,避免进入其他页面依旧再倒计时,影响小程序性能
			console.log('页面隐藏了')
		},
			    methods:{
			    	//倒计时结束
			finish() {
				
				console.log('结束');
			},
				onChange(e) {
				this.timeData = e
			},
			    //从后端拿到请求数据
			    uodate(){
			       //模拟数据
			       //
			       this.kanjianinfo.endtime = 1669824000000;//2022-12-01 00:00:00
			       this.downTime()
			    },
			    // 倒计时
			downTime() {
				//获取当前时间戳
				let newDate = Date.now();
				let chaTime = null;
					//if (this.kanjianinfo.status == 'ing') {
					//	chaTime = this.kanjianinfo.endtime * 1000;//后端返秒*1000转为毫秒
					//} else if (this.kanjianinfo.status == 'waiting') {
					//	chaTime = this.kanjianinfo.starttime * 1000;
				//	}
				    chaTime = this.kanjianinfo.endtime
					this.times = chaTime - newDate;
					console.log('倒计时开始', chaTime, ';', this.times);
					this.timeData = {
						days: this.toHHmmss(this.times)[0],
						hours: this.toHHmmss(this.times)[1],
						minutes: this.toHHmmss(this.times)[2],
						seconds: this.toHHmmss(this.times)[3] * 1,
					}
				this.$forceUpdate()
			},
					//倒计时
			toHHmmss(inputTime) {
				var dec = inputTime / 1000;
				//得到天 格式化成前缀加零的样式
				var d = parseInt(dec / 60 / 60 / 24);
				d = d < 10 ? '0' + d : d;
				//得到小时 格式化成前缀加零的样式
				var h = parseInt(dec / 60 / 60 % 24);
				h = h < 10 ? '0' + h : h;
				//得到分钟 格式化成前缀加零的样式
				var m = parseInt(dec / 60 % 60);
				m = m < 10 ? '0' + m : m;

				//得到秒 格式化成前缀加零的样式
				var s = parseInt(dec % 60);
				s = s < 10 ? '0' + s : s;
				return [d, h, m, s]
			},
			}
		 }
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uview2.0自定义u-count-down倒计时 的相关文章

  • 动态速度计 javascript 或 jquery 插件

    我希望有动态ajax插件在页面上显示速度计 一个想法是我设置一个背景并旋转针 有人知道相关插件吗 这里有一些供您参考 http bernii github com gauge js http bernii github com gauge
  • 网站 YouTube 嵌入视频不断播放

    我正在使用 youtube 提供的 iframe 在我的网站上嵌入视频 我还使用了一个 css 弹出窗口 这是我从这个页面学到的http www pat burt com web development how to do a css po
  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • Jquery从下拉列表中获取所选值的id

    我有一个下拉列表 可以从数据库获取值 如下所示 get getJobs function jobs seljobs jobs var i 0 jobs forEach function n alert job id n id 32 67 4
  • 如何按照编写的顺序迭代 javascript 对象属性

    我发现了代码中的一个错误 我希望通过最少的重构工作来解决该错误 此错误发生在 Chrome 和 Opera 浏览器中 问题 var obj 23 AA 12 BB iterating through obj s properties for
  • Leaflet js虚构地图

    我是 Leaflet 的新手 我想了解如何创建完全交互式的虚构地图 我有一张图像想要转换为传单地图 该图像基本上像图表一样具有许多连接和点 我想首先将该图像转换为地图 能够将鼠标悬停在这些点上 突出显示它们并显示有关它们的信息 并且还可以在
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • javascript中按tab键时如何调用函数?

    我有一个这样的功能 function whenEmpty field if field value field style backgroundColor ffcccc alert Please fill the field field f
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 是否有任何非轮询方式来检测 DOM 元素的大小或位置何时发生变化?

    很长一段时间以来 我一直在寻找一种方法来检测 DOM 元素的大小或位置何时发生变化 这可能是因为窗口调整了大小 或者因为向该元素添加了新的子元素 或者因为在该元素周围添加了新元素 或者因为 CSS 规则已更改 或者因为用户更改了浏览器的字体
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • 如何在 Angular 中从父组件访问子组件?

    I have mat paginator在子组件a中 如下所示 子组件 html
  • 将数组排序为第一个最小值、第一个最大值、第二个最小值、第二个最大值等

    编写一个JS程序 返回一个数组 其中第一个元素是第一个最小值 第二个元素是第一个最大值 依此类推 该程序包含一个函数 该函数接受一个参数 一个数组 该函数根据要求返回数组 输入示例 array 2 4 7 1 3 8 9 预期输出 1 9
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 使用异步调用时如何从 javascript 更新元刷新?

    我有一个系统 它使用元刷新来注销页面 该系统会在空闲用户后进行清理 不用担心 服务器也会导致会话超时 我开始通过 ajax 进行一些操作 不是真正的 xml 但这不是重点 我可以运行从异步请求返回的javascript 所以我想知道是否可以
  • 如何在打字稿文件中导入没有定义文件的js库

    随着我们的项目变得越来越大 我想从 JavaScript 切换到 TypeScript 以帮助进行代码管理 然而 我们使用许多库作为 amd 模块 我们不想将其转换为 TypeScript 我们仍然想将它们导入 TypeScript 文件

随机推荐

  • Flamingo

    基于已有的图像模型和文本模型构建多模态模型 最终模型的输入是图像 视频和文本 输出是文本 Vision encoder来自预训练的NormalizerFree ResNet NFNet 之后经过图文对比损失进一步学习 图片经过Vision
  • antd中Tabs切换控制其他地方的标签显隐(react)

    antd中Tabs切换控制其他地方的标签的显示与隐藏 过程如下 tab的回调函数 拿到key值之后就离成功不远了 然后在右边的标签下还有内容 也需要根据tab切换去控制显隐 和上面是一个道理 可以直接给里面的每个div类名 根据key值 去
  • Java写一个excel工具类_Java操作Excel工具类(poi)

    1 importorg apache commons lang3 exception ExceptionUtils 2 importorg apache poi hssf usermodel HSSFDataFormat 3 importo
  • STM32传感器外设集 -- 蓝牙(HC-05)+超声波(hc-sr04)

    前言 前言 蓝牙外设还没有给大家安排上 今天我就给大家安排上使用蓝牙传输超声波距离的例程 会给大家附带蓝牙的上位机的测试APP 一 模块介绍 1 连接图 蓝牙模块 引脚 超声波传感器 引脚 GND GND GND GND VCC 3 3 V
  • 基础IO(文件输入输出、标准IO接口、文件描述符和文件流指针)

    目录 基础IO 文件的输入输出操作 FILE fopen char filename char mode 文件名称 打开方式 size t fread char buf size t block size size t block coun
  • leetcode 1833 雪糕的最大数量 第一眼想到的是dp,其实只能排序加贪心

    夏日炎炎 小男孩 Tony 想买一些雪糕消消暑 商店中新到 n 支雪糕 用长度为 n 的数组 costs 表示雪糕的定价 其中 costs i 表示第 i 支雪糕的现金价格 Tony 一共有 coins 现金可以用于消费 他想要买尽可能多的
  • ioctl()函数

    include
  • 前端js、javascript 鼠标 框选 文件 功能

    一 DEMO
  • No module named ‘torch‘

    系统环境 Win10 Python3 6 一 此处推荐第三种方法到官网获取相关安装指令 1 默认安装新版本torch pip install torch 2 安装指定版本torch pip install torch 1 7 0 二 安装t
  • PIDNet: A Real-time Semantic Segmentation Network Inspired by PID Controllers翻译

    摘要 在实时语义分割任务中 双分支网络架构具有良好得效率和有效性 然而 高分辨率细节和低频上下文的直接融合存在细节特征容易被周围上下文信息淹没的缺点 这种超调现象限制了现有双分支模型分割精度的提高 在本文中 我们将卷积神经网络 CNN 和比
  • Python脚本,使用apikey查询OpenAi可用余额

    脚本如下 import openai import os 设置 OpenAI API key openai api key os environ OPENAI API KEY def get balance 获取当前 OpenAI 可用余额
  • 软件工程作业创建表

    设计表 4 按专业统计课程数量 sql SELECT Major COUNT AS Num FROM Course GROUP BY Major 5 按专业查询所有课程信息 sql SELECT FROM Course WHERE Majo
  • vue实现电梯锚点导航

    1 目标效果 最近喝了不少的咖啡 奶茶 有一个效果我倒是挺好奇怎么实现的 1 点击左侧分类菜单 右侧滚动到该分类区域 2 右侧滑动屏幕 左侧显示当前所处的分类区域 这种功能会出现在商城项目中或者分类数量较多的项目中 专业名称称电梯导航 目标
  • 管道符丨用法

    使用管道操作符 可以把一个命令的标准输出传送到另一个命令的标准输入中 连续的 意味着第一个命令的输出为第二个命令的输入 第二个命令的输入为第一个命令的输出 依次类推 最常用的就是配合grep来使用 ps ef grep pycharm ps
  • MATLAB怎么保存数据到当前M文件所在文件夹

    之前写人脸识别的时候遇到如上问题 然后发现解决方案一 local address pwd 这样会返回当前工作目录的路径 local address被赋值为字符串 就是下图里 的下面这个位置 但是对任意文件夹里的M文件需要先设置当前工作目录的
  • juc辅助类

    目录 减少计数 CountDownLatch 循环栅栏 CyclicBarrier 减少计数 CountDownLatch 循环栅栏 CyclicBarrier 两者区别 信号灯 Semaphore juc辅助类有 减少计数 CountDo
  • Doxygen文档生成工具

    Doxygen代码文档生成工具 文章目录 Doxygen代码文档生成工具 Doxygen Doxygen的注释 vscode插件 Doxygen实际使用 Doxygen 根据百度百科说法 Doxygen是一种开源的 跨平台的文档系统 支持C
  • 记一次由于外部K8S集群证书到期导致Jenkins无法生成动态agent节点错误解决(入坑出坑)...

    欢迎关注 WeiyiGeek 公众号 点击 下方卡片 即可关注我哟 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 涉及 网络安全运维 应用开发 物联网IOT 学习路径 个人感悟 等知识 花开堪折直须折 莫待无花空折枝 作者主
  • Flask虚拟环境

    一 虚拟环境 1 为什么需要虚拟环境 虚拟环境作用是将每个项目所需要的包隔离开形成一个独立的整体 每个虚拟环境互不干涉 方便与运行 因为如果有包有升级的话 可能会运行不了 2 安装使用虚拟环境 pipenv 2 1 安装虚拟环境 在系统命行
  • uview2.0自定义u-count-down倒计时

    1 效果展示 2 思路需要后端返回一个结束的时间戳 注意是毫秒时间戳 如果是秒需要在后面加3个0转为毫秒 获取当当前时间戳 当前时间戳减去商品结束的时间戳得出要倒计时的时间戳 然后再进行值得处理 3 代码展示