倒计时

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style type="text/css">
    .time-item {
      width: 430px;
      height: 45px;
      margin: 0 auto;
    }
    
    .time-item strong {
        background: orange;
        color: #fff;
        line-height: 49px;
        font-size: 36px;
        font-family: Arial;
        padding: 0 10px;
        margin-right: 10px;
        border-radius: 5px;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
    }

    .time-item > span {
        float: left;
        line-height: 49px;
        color: orange;
        font-size: 32px;
        margin: 0 10px;
        font-family: Arial, Helvetica, sans-serif;
    }
    .title {
      width: 260px;
      height: 50px;
      margin:200px auto 50px auto;
    }
  </style>

</head>
<body>
  <h1 class="title">距离光棍节,还有</h1>
  <div class="time-item">
    <span><span id="day">00</span>天</span>
    <strong><span id="hour">00</span>时</strong>
    <strong><span id="minute">00</span>分</strong>
    <strong><span id="second">00</span>秒</strong>
  </div>

  <script>
    var endDate = new Date('2020-11-11 0:0:0');// 目标时间
	
	function my$(id) {
	  return document.getElementById(id);
	}
    var spanDay = my$('day');
    var spanHour = my$('hour');
    var spanMinute = my$('minute');
    var spanSecond = my$('second');
	
	countdown();
	// 倒计时
	function countdown() {
	  var startDate = new Date();// 当前时间
	  var interval = getInterval(startDate, endDate);// 计算两个日期差
	  setInnerText(spanDay, interval.day);
	  setInnerText(spanHour, interval.hour);
	  setInnerText(spanMinute, interval.minute);
	  setInnerText(spanSecond, interval.second);
	}
		
	// 获取两个日期的时间差
	function getInterval(start, end) {
	  // 两个日期对象,相差的毫秒数
	  var interval = end - start;
	  // 求 相差的天数/小时数/分钟数/秒数
	  var day, hour, minute, second;
	  // 两个日期对象,相差的秒数
	  // interval = interval / 1000;
	  interval /= 1000;
	  day = Math.round(interval / 60 / 60 / 24);
	  hour = Math.round(interval / 60 / 60 % 24);
	  minute = Math.round(interval / 60 % 60);
	  second = Math.round(interval % 60);
	  return {
	    day: day,
	    hour: hour,
	    minute: minute,
	    second: second
	  }
	}

	setInterval(countdown, 1000);
	
	// 处理innerText和textContent的兼容性问题
	// 设置标签之间的内容
	function setInnerText(element, content) {
	  // 判断当前浏览器是否支持 innerText
	  if (typeof element.innerText === 'string') {
	    element.innerText = content;
	  } else {
	    element.textContent = content;
	  }
	}
  </script>
</body>
</html>
posted @ 2020-03-17 22:00  neverthelessing  阅读(21)  评论(0)    收藏  举报