Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用倒计时功能使图像在页面中居中且响应迅速_Javascript_Html_Css - Fatal编程技术网

Javascript 使用倒计时功能使图像在页面中居中且响应迅速

Javascript 使用倒计时功能使图像在页面中居中且响应迅速,javascript,html,css,Javascript,Html,Css,我试图创建一个HTML页面,其中包含一个倒计时,我想添加一个图像,居中,使其响应。我尝试了几种方法,但结果都没有反应。 我想让它看起来像这张照片: 但是如果我调整页面大小,它看起来像这样(完全灾难): 我试着加上“宽度:100%”,但结果显示图像很大,这就是为什么我必须使用“宽度:20%”。我怎样才能使这张图像有响应性(正如你所看到的,倒计时是正确的) 下面是我的代码: var target_date=新日期(“2020年1月20日”); 变量天、小时、分钟、秒;//时间单位变量 var

我试图创建一个HTML页面,其中包含一个倒计时,我想添加一个图像,居中,使其响应。我尝试了几种方法,但结果都没有反应。 我想让它看起来像这张照片:

但是如果我调整页面大小,它看起来像这样(完全灾难):

我试着加上“宽度:100%”,但结果显示图像很大,这就是为什么我必须使用“宽度:20%”。我怎样才能使这张图像有响应性(正如你所看到的,倒计时是正确的)

下面是我的代码:

var target_date=新日期(“2020年1月20日”);
变量天、小时、分钟、秒;//时间单位变量
var countdown=document.getElementById(“tiles”);//获取标记元素
getCountdown();
setInterval(函数(){
getCountdown();
}, 1000);
函数getCountdown(){
//找出从现在到目标之间的“秒数”
var current_date=new date().getTime();
var秒数左=(目标日期-当前日期)/1000;
天数=pad(parseInt(剩余秒/86400));
剩余秒数=剩余秒数%86400;
小时=pad(parseInt(剩余秒/3600));
剩余秒数=剩余秒数%3600;
分钟=pad(parseInt(剩余秒/60));
秒=pad(parseInt(秒左%60));
//格式化倒计时字符串+设置标记值
countdown.innerHTML=“+天+”“+小时+”“+分钟+”“+秒+”;
}
功能板(n){
返回(n<10?'0':'')+n;
}
正文{
字体:标准13px/20px Arial,Helvetica,无衬线;
单词包装:打断单词;
颜色:#eee;
背景:#3535;
}
img{
位置:绝对位置;
左:600px;
顶部:0px;
宽度:20%;
高度:自动;
}
#倒计时{
宽度:465px;
高度:112px;
文本对齐:居中;
背景:#222;
背景图像:-webkit线性渐变(顶部,#222,#333,#333,#222);
背景图像:-moz线性梯度(顶部,#222,#333,#333,#222);
背景图像:-ms线性梯度(顶部,#222,#333,#333,#222);
背景图像:-o-线性梯度(顶部,#222,#333,#333,#222);
边框:1px实心#111;
边界半径:5px;
盒子阴影:0px 0px 8px rgba(0,0,0,0.6);
保证金:自动;
填充:24px0;
位置:绝对位置;
排名:0;
底部:0;
左:0;
右:0;
}
#倒计时:之前{
内容:“;
宽度:8px;
高度:65px;
背景:#444;
背景图像:-webkit线性渐变(顶部,#555,#444,#444,#555);
背景图像:-moz线性梯度(顶部,#555,#444,#444,#555);
背景图像:-ms线性渐变(顶部,#555,#444,#444,#555);
背景图像:-o-线性梯度(顶部,#555,#444,#444,#555);
边框:1px实心#111;
边框左上半径:6px;
边框左下半径:6px;
显示:块;
位置:绝对位置;
顶部:48px;
左:-10px;
}
#倒计时:之后{
内容:“;
宽度:8px;
高度:65px;
背景:#444;
背景图像:-webkit线性渐变(顶部,#555,#444,#444,#555);
背景图像:-moz线性梯度(顶部,#555,#444,#444,#555);
背景图像:-ms线性渐变(顶部,#555,#444,#444,#555);
背景图像:-o-线性梯度(顶部,#555,#444,#444,#555);
边框:1px实心#111;
边框右上角半径:6px;
边框右下半径:6px;
显示:块;
位置:绝对位置;
顶部:48px;
右:-10px;
}
#倒计时#瓦片{
位置:相对位置;
z指数:1;
}
#倒计时#瓷砖>跨度{
宽度:92px;
最大宽度:92px;
字体:粗体48px“Droid Sans”,Arial,无衬线;
文本对齐:居中;
颜色:#111;
背景色:#ddd;
背景图像:-webkit线性渐变(顶部,#bbb,#eee);
背景图像:-moz线性梯度(顶部,#bbb,#eee);
背景图像:-ms线性梯度(顶部,#bbb,#eee);
背景图像:-o-线性梯度(顶部,#bbb,#eee);
边框顶部:1px实心#fff;
边界半径:3px;
盒影:0px 0px 12px rgba(0,0,0,0.7);
利润率:0.7px;
填充:18px0;
显示:内联块;
位置:相对位置;
}
#倒计时#tiles>span:之前{
内容:“;
宽度:100%;
高度:13px;
背景:#111;
显示:块;
填充:0 3px;
位置:绝对位置;
最高:41%;
左:-3px;
z指数:-1;
}
#倒计时#tiles>span:{
内容:“;
宽度:100%;
高度:1px;
背景:#eee;
边框顶部:1px实心#333;
显示:块;
位置:绝对位置;
最高:48%;
左:0;
}
#倒计时,标签{
宽度:100%;
高度:25px;
文本对齐:居中;
位置:绝对位置;
底部:8px;
}
#倒计时,李{
宽度:102px;
字体:粗体15px“Droid Sans”,Arial,无衬线;
颜色:#f47321;
文本阴影:1px 1px 0px#000;
文本对齐:居中;
文本转换:大写;
显示:内联块;
}

  • 日子
  • 小时数
  • 分钟

  • 它来自许多html元素的
    绝对位置。要使其居中,您需要使用类似于flexbox的其他工具:

    var target_date=新日期(“2020年1月20日”);
    变量天、小时、分钟、秒;//时间单位变量
    var countdown=document.getElementById(“tiles”);//获取标记元素
    getCountdown();
    setInterval(函数(){getCountdown();},1000);
    函数getCountdown(){
    //找出从现在到目标之间的“秒数”
    var current_date=new date().getTime();
    var秒数左=(目标日期-当前日期)/1000;
    天数=pad(parseInt(剩余秒/86400));
    剩余秒数=剩余秒数%86400;
    小时=pad(parseInt(剩余秒/3600));
    剩余秒数=剩余秒数%3600;
    分钟=pad(parseInt(剩余秒/60));
    秒=pad(parseInt(秒左%60));
    //格式化倒计时字符串+设置标记值
    countdown.innerHTML=“+天+”“+小时+”“+分钟+”“+秒+”;
    }
    功能板(n){
    返回(n<10?'0':'')+n;
    }
    body{
    字体:标准13px/20px Arial,Helvetica,无衬线;word
    
    <!DOCTYPE html>
    <!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
    <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
    <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
    <!--[if gt IE 8]><!-->
    <html class="no-js">
      <!--<![endif]-->
      <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title></title>
        <meta name="description" content="" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <link rel="stylesheet" href="style.css" />
      </head>
      <body>
        <div style="display: flex; justify-content: center; align-items: center;">
          <div>
            <img src="logo.png" />
          </div>
          <div id="countdown">
            <div id="tiles"></div>
            <div class="labels">
              <li>Days</li>
              <li>Hours</li>
              <li>Mins</li>
              <li>Secs</li>
            </div>
          </div>
        </div>
    
        <script>
          var target_date = new Date("January 20, 2020");
          var days, hours, minutes, seconds; // variables for time units
          var countdown = document.getElementById("tiles"); // get tag element
          getCountdown();
          setInterval(function() {
            getCountdown();
          }, 1000);
    
          function getCountdown() {
            // find the amount of "seconds" between now and target
            var current_date = new Date().getTime();
            var seconds_left = (target_date - current_date) / 1000;
            days = pad(parseInt(seconds_left / 86400));
            seconds_left = seconds_left % 86400;
            hours = pad(parseInt(seconds_left / 3600));
            seconds_left = seconds_left % 3600;
            minutes = pad(parseInt(seconds_left / 60));
            seconds = pad(parseInt(seconds_left % 60));
            // format countdown string + set tag value
            countdown.innerHTML =
              "<span>" +
              days +
              "</span><span>" +
              hours +
              "</span><span>" +
              minutes +
              "</span><span>" +
              seconds +
              "</span>";
          }
    
          function pad(n) {
            return (n < 10 ? "0" : "") + n;
          }
        </script>
      </body>
    </html>
    
    body {
      font: normal 13px/20px Arial, Helvetica, sans-serif;
      word-wrap: break-word;
      color: #eee;
      background: #353535;
    }
    
    img {
      width: 230px;
      height: auto;
    }
    
    #countdown {
      width: 465px;
      height: 112px;
      text-align: center;
      background: #222;
      background-image: -webkit-linear-gradient(top, #222, #333, #333, #222);
      background-image: -moz-linear-gradient(top, #222, #333, #333, #222);
      background-image: -ms-linear-gradient(top, #222, #333, #333, #222);
      background-image: -o-linear-gradient(top, #222, #333, #333, #222);
      border: 1px solid #111;
      border-radius: 5px;
      box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.6);
      margin: auto;
      padding: 24px 0;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
    }
    
    #countdown:before {
      content: "";
      width: 8px;
      height: 65px;
      background: #444;
      background-image: -webkit-linear-gradient(top, #555, #444, #444, #555);
      background-image: -moz-linear-gradient(top, #555, #444, #444, #555);
      background-image: -ms-linear-gradient(top, #555, #444, #444, #555);
      background-image: -o-linear-gradient(top, #555, #444, #444, #555);
      border: 1px solid #111;
      border-top-left-radius: 6px;
      border-bottom-left-radius: 6px;
      display: block;
      position: absolute;
      top: 48px;
      left: -10px;
    }
    
    #countdown:after {
      content: "";
      width: 8px;
      height: 65px;
      background: #444;
      background-image: -webkit-linear-gradient(top, #555, #444, #444, #555);
      background-image: -moz-linear-gradient(top, #555, #444, #444, #555);
      background-image: -ms-linear-gradient(top, #555, #444, #444, #555);
      background-image: -o-linear-gradient(top, #555, #444, #444, #555);
      border: 1px solid #111;
      border-top-right-radius: 6px;
      border-bottom-right-radius: 6px;
      display: block;
      position: absolute;
      top: 48px;
      right: -10px;
    }
    
    #countdown #tiles {
      position: relative;
      z-index: 1;
    }
    
    #countdown #tiles > span {
      width: 92px;
      max-width: 92px;
      font: bold 48px "Droid Sans", Arial, sans-serif;
      text-align: center;
      color: #111;
      background-color: #ddd;
      background-image: -webkit-linear-gradient(top, #bbb, #eee);
      background-image: -moz-linear-gradient(top, #bbb, #eee);
      background-image: -ms-linear-gradient(top, #bbb, #eee);
      background-image: -o-linear-gradient(top, #bbb, #eee);
      border-top: 1px solid #fff;
      border-radius: 3px;
      box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.7);
      margin: 0 7px;
      padding: 18px 0;
      display: inline-block;
      position: relative;
    }
    
    #countdown #tiles > span:before {
      content: "";
      width: 100%;
      height: 13px;
      background: #111;
      display: block;
      padding: 0 3px;
      position: absolute;
      top: 41%;
      left: -3px;
      z-index: -1;
    }
    
    #countdown #tiles > span:after {
      content: "";
      width: 100%;
      height: 1px;
      background: #eee;
      border-top: 1px solid #333;
      display: block;
      position: absolute;
      top: 48%;
      left: 0;
    }
    
    #countdown .labels {
      width: 100%;
      height: 25px;
      text-align: center;
      position: absolute;
      bottom: 8px;
    }
    
    #countdown .labels li {
      width: 102px;
      font: bold 15px "Droid Sans", Arial, sans-serif;
      color: #f47321;
      text-shadow: 1px 1px 0px #000;
      text-align: center;
      text-transform: uppercase;
      display: inline-block;
    }