JS与React分别实现倒计时(天时分秒)
JS方法
html部分
<div class="clock">
<i></i>
天
<i></i>
:
<i></i>
:
<i></i>
后截止统计
</div>
css部分
.clock{
width: 13.7rem;
height: 1rem;
margin-top:31.42rem;
color: #666666;
font-size: 0.85rem;
line-height: 1rem;
} .clock i{
background: #ED0007;
color: #FFF;
font-weight: bold;
width: 1.2rem;
height: 1.04rem;
line-height: 1.04rem;
text-align: center;
display: inline-block;
}
js部分
let clock = document.getElementsByClassName('clock');
setInterval(function(){
let nowtime = new Date();
let endtime = new Date(2020,9,1,0,0,0); //设定的截止日期是10月1日,注意 Date方法中的月份提前一个月 let num = endtime.getTime() - nowtime.getTime() //以number形式表示的时间戳之差 // 以下是计算分时秒的过程
let day = parseInt(num/(1000*60*60*24));
num %= 1000*60*60*24;
let hour = parseInt(num/(60*60*1000));
num %= 1000*60*60;
let minute = parseInt(num/(60*1000));
num %= 60*1000;
let second = parseInt(num/1000); clock[0].children[0].innerHTML = day;
clock[0].children[1].innerHTML = hour;
clock[0].children[2].innerHTML = minute;
clock[0].children[3].innerHTML = second;
},100)
React方法
最大不同就是对dom元素的内容展示,间接转为对state的控制。
import React from 'react';
import ReactDOM from 'react-dom';
import './Clock.less'; class Clock extends React.Component {
constructor(props) {
super(props);
console.log(props)
this.state = {
day: 0,
hour: 0,
min: 0,
sec: 0,
isShow:true,
}
} componentDidMount () {
this.countClock();
} componentWillUnmount() {
clearTimeout(this.timer);
} countClock = ()=> {
this.timer = setInterval(() => {
var nowtime = new Date();
var endtime = new Date(2020,8,4,0,0,0); //设定的截止日期是10月1日
var num = endtime.getTime() - nowtime.getTime() //以number形式表示的时间戳之差
if(num<=0){
clearInterval(this.timer);
changeStatus();
this.setState({
day: 0,
hours: 0,
min: 0,
sec: 0,
isShow:false,
});
}else{
var day = parseInt(num/(1000*60*60*24));
num %= 1000*60*60*24;
var hour = parseInt(num/(60*60*1000));
num %= 1000*60*60;
var minute = parseInt(num/(60*1000));
num %= 60*1000;
var second = parseInt(num/1000);
this.setState({
day:day,
hour:hour,
min:minute,
sec:second,
isShow:true,
})
}
},100)
} render() {
const { day,hour,min,sec } = this.state;
return (
<div>
<i>{day}</i>
天
<i>{hour}</i>
:
<i>{min}</i>
:
<i>{sec}</i>
后截止统计
</div>
);
}
} export default Clock;
可能方法还是比较愚钝的,希望可以给出更好的答案!
JS与React分别实现倒计时(天时分秒)的更多相关文章
- JS倒计时——天时分秒
HTML代码: <div id="times_wrap" class="time_num"> 距离结束时间: <div cl ...
- JQ倒计时天时分秒
<div id="times_wrap" class="time_num"> 距离现在时间: <div class="time_w& ...
- js倒计时天时分秒[转]
<script language="JavaScript"> <!-- // function getQueryString(name) { var reg =n ...
- JS时间处理,获取天时分秒
//获取时间的天,小时,分钟,秒 function ToTime(second) { second = second / ; var result ; ) % ; ) % ; * )); ) { re ...
- JS时间处理,获取天时分秒。以及浏览器出现的不兼容问题
//获取时间的天,小时,分钟,秒 function ToTime(second) { second = second / ; var result ; ) % ; ) % ; * )); ) { re ...
- JS - The react framework
这几天因为赶时间 , 所以理解上可能有许多的误差 , 如果你不幸点进来了 , 请不要看我的代码 , 这几天我会重新修改 , 然后把错误的不足的 全部修正一下 . /hwr/src/index.js i ...
- React Native之倒计时组件的实现(ios android)
React Native之倒计时组件的实现(ios android) 一,需求分析 1,app需实现类似于淘宝的活动倒计时,并在倒计时结束时,活动也结束. 2,实现订单倒计时,并在倒计时结束时,订单关 ...
- D3.js(v3)+react框架 基础部分之数据绑定及其工作过程与绑定顺序
数据绑定: 将数据绑定到Dom上,是D3最大的特色.d3.select和d3.selectAll返回的元素的选择集.选择集上是没有数据的. 数据绑定就是使被选择元素里“含有”数据. 相关函数有两个: ...
- immutable.js 在React、Redux中的实践以及常用API简介
immutable.js 在React.Redux中的实践以及常用API简介 学习下 这个immutable Data 是什么鬼,有什么优点,好处等等 mark : https://yq.aliyu ...
随机推荐
- REACT——虚拟DOM
深入了解虚拟DOM 实际顺序 jsx->createElemnt ->虚拟DOM(JS 对象)->真实DOM 虚拟DOM中的Diff算法 :当react查找差异的时候,就会采用dif ...
- Go Pentester - HTTP CLIENTS(3)
Interacting with Metasploit Early-stage Preparation: Setting up your environment - start the Metaspl ...
- Ethical Hacking - Overview
Hacking is gaining unauthorized access to anything. Preparation Setting up a lab and installing need ...
- [jvm] -- 引用篇
四种引用及其应用场景 强引用 强引用是平常中使用最多的引用,强引用在程序内存不足(OOM)的时候也不会被回收. 使用场景:啥时候都在使用 软引用 软引用在程序内存不足时,会被回收. 使用场景:创建缓存 ...
- NoSQL数据库-MongoDB 学习(一)
基本介绍 MongoDB 是为了快速开发互联网 Web 应用而设计的数据库系统 MongoDB 的设计目标是极简.灵活.作为 Web 应用栈的一部分 MongoDB 的数据模型是面向文档的,所谓文档是 ...
- webpack的使用 一、webpack 和webpack的安装
本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时, 它会递归地构建一个依赖关系图(dependen ...
- web自动化 -- 框架
一.框架源码 https://github.com/jiangnan27/Autotest_UI_Open 二.框架大概介绍 Python3 + selenium3 + pytest5.3 + a ...
- SUCTF2019-web Easyweb
<?php function get_the_flag(){ // webadmin will remove your upload file every 20 min!!!! $userdir ...
- 前端学习(二):head标签
进击のpython ***** 前端学习--head标签 head标签中的相关标签,是看不见摸不着的,仅仅是对应用于网页的一些基础信息(元信息) 前面说的是青春版,完整的head应该是这样的 !< ...
- three.js 欧拉角和四元数
这篇郭先生就来说说欧拉角和四元数,欧拉角和四元数的优缺点是老生常谈的话题了,使用条件我就不多说了,我只说一下使用方法. 1. 欧拉角(Euler) 欧拉角描述一个旋转变换,通过指定轴顺序和其各个轴向上 ...