最近将BOM重新复习了一遍,本想使用定时器给女朋友做一个生日倒计时,奈何canvas都忘了。所以模拟了一个京东的秒杀专场倒计时。

各位小伙伴有什么建议和意见,请不吝赐教。

下面是京东首页的截图:

利用BOM提供的setInterval()方法可以实现这样的一个小功能。

HTML代码:

京东秒杀

00

00

00

CSS样式表:

/*清除默认内外边距*/*{padding:0;margin:0;

}

/*设置超链接的样式*/#countdownLink{

/*将其变为块元素之后,设置宽高,宽高和背景图片的大小一致*/display:block;width:191px;height:261px;

/*设置超链接背景图片,点击图片任何位置都能访问该超链接*/background-image:url(//misc.360buyimg.com/mtd/pc/index_2019/1.0.0/assets/img/4a15d8883775742e3efbb850ae14def7.png);

/*去掉超链接里文字的下划线*/text-decoration:none;

}

/*设置秒杀框标题的样式*/#seckill{

/*宽度设置为父元素的100%,也就是191px*/width:100%;

/*“京东秒杀”字体样式*/font-family:"黑体";font-weight:bold;color:white;font-size:32px;

/*“京东秒杀”在其所在盒子里居中*/text-align:center;

/*将京东秒杀的盒子居中,由于宽度是100%,故仅设置上下外边距即可,在这里习惯性加auto*/margin:40px auto;

}

/*消除#countDownLink和#seckill的垂直外边距重叠*/#countdownLink::before,

#countdownLink::after{content:"";display:table;clear:both;

}

/*设置场次字体大小*/#specialTime{

/*宽度设置为父元素的100%,也就是191px*/width:100%;height:20px;

/*内容居中*/text-align:center;

/*字体样式*/

/*文字大小设置默认值为15px,后面选择器里会有变动*/font-size:15px;color:white;font-family:"黑体";font-weight:bold;

/*设置一个上下外边边距,其中,上外边距会与最上边盒子的下外边距重合一部分*/margin:75px auto 20px;

}

/*JS根据场次信息添加的标签,显示时间,由于时间字体偏大,就单独设置一个p标签*/#specialTime #strong{display:inline-block;font-size:23px;

}

/*JS添加的标签,显示场次信息里的中文,字体偏小*/#specialTime #nomal{display:inline-block;

/*继承父元素字体大小*/

/*调节根据基线的偏移值,使得场次时间与中文对齐*/vertical-align:3px;

}

/*设置剩余时间所在盒子的样式*/#leftTime{width:100%;text-align:center;

}

/*时间子盒子的样式*/#hour,#minute,#second{

/*宽高*/width:30px;height:30px;

/*背景*/background-color:black;

/*字体*/color:white;font-family:"黑体";font-weight:bold;font-size:25px;

/*文字居中*/text-align:center;display:inline-block;

/*左右外边距*/margin:0 5px;

/*开启决相对定位*/position:relative;

}

/*在时和分的后面添加一个:*/#hour::after,#minute::after{content:":";position:absolute;

/*调一调冒号的位置,使其与数字对齐*/left:32px;top:-3px;

}

JS代码:

window.addEventListener("load",function(){//设置秒杀专场开始时间基于1970年的毫秒数

var startTime = +new Date("2020-03-06T17:00:00");//设置秒杀专场当天的00:00时基于1970年的毫秒数

var zeroOclock = +new Date("2020-03-06T00:00:00");//将上述两个时间相减,将结果换算成24小时制的时间放在specialTime里显示用于表明多少点的场次

var h1 = (startTime-zeroOclock)/1000/60/60;

//若时间为个数,前面补个0

h1 = h1<10?"0"+h1:h1;//获取显示场次信息的那个div元素的对象

var box = document.getElementById("specialTime");//在里面添加两个p标签,分别存放时间和描述性中文

box.innerHTML = "

"+ h1 + ":00

" + "

点场 倒计时

";//获取时分秒盒子的对象

var span = document.getElementsByTagName("span");//获取当前时间基于1970年的毫秒数

var now = +newDate;//如果开场时间未到,则不停地计时

if((startTime - now)>0){

cal();var countDown = setInterval(cal,1000);

}functioncal(){//重新获取当前时间

now = +newDate();//计算开场时间与现在时间的差

var leftTime = startTime -now;//分别计算年月日

var h = parseInt(leftTime/1000/60/60%24);

h = h < 10 ? "0" +h : h;var m = parseInt(leftTime/1000/60%60);

m= m < 10 ? "0" +m : m;var s = parseInt(leftTime/1000%60);

s = s < 10 ? "0" +s : s;//如果时间到了,则停止计时,时间没到的话,就更新倒计时

if((h+m+s)!="00000000"){

span[0].innerHTML =h;

span[1].innerHTML =m;

span[2].innerHTML =s;

}else{

span[2].innerHTML =s;

clearInterval(countDown);

}

}

})

输出结果(IE8及以下不兼容):

原文:https://www.cnblogs.com/lilisblog/p/12427368.html

html5京东秒杀页面代码,静态页面(一):原生JS模拟京东秒杀专场倒计时相关推荐

  1. jsp页面内引入静态html,JSP技术实现动态页面到静态页面的方法

    本文是介绍了jsp技术实现动态页面到静态页面的方法,分享给大家,具体如下: 对于JSP技术实现动态页面到静态页面的方案,我们从三个步骤来说明: JSP技术实现动态页面到静态页面的方案第一: 为了能深入 ...

  2. asp.net之动态页面和静态页面的区别

    asp.net之动态页面和静态页面的区别 当我开始接触web开发的时候,首先学到的是html.css.js这一类网页语言,通过布局可以搭建出一个静态网站,效果也跟我们上网时经常看到的一些网站一样了.于 ...

  3. html+css实现京东、英雄联盟静态页面

    效果展示 真高仿,像真的一样,页面的效果几乎都做出来了. 京东 刚接触html css的时候写第一个页面,由于当时布局不太熟练,写了将近一个月- 英雄联盟 实现功能 京东点击切换轮播图 京东自动轮播图 ...

  4. Aspx页面转静态页面

    为客户在SharePoint的基础上搭建了一个门户,但是客户又反映说首页打开太慢,通过Fillder工具查看,页面打开速度大概在5秒左右.    其实对于一个SharePoint站点来讲,打开速度在3 ...

  5. JSP中把动态页面转换为静态页面

    原文:http://www.gpxz.com/diannao/biancheng/261225.html 要自动生成静态页面,用Filter截获jsp请求并先进行预处理,自动生成Html,是个不错的主 ...

  6. 3d旋转相册代码源码_原生 JS 实现 3D 立方体

    访问该URL可查看效果:http://is666a.gitee.io/javascript3d_cube/ 项目源码已上传码云:小朋友/JavaScript 3D立方体 原生 JS 实现 3D 立方体 ...

  7. JS模拟京东搜索框案例 模拟京东快递单号查询案例

    模拟京东搜索框案例 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...

  8. html百度静态页面代码,静态百度页面_html/css_WEB-ITnose

    1.百度页面 2. html代码文件 1 2 3 4 百度一下,你也不知道咯 5 6 7 8 9 10 11 12 新闻13 hao12314 地图15 视频16 贴吧17 登录18 设置19 更多产 ...

  9. 超好看的导航页面(静态页面)

    可通过此链接查看:http://project_almanac.gitee.io/mayday-navigation/ 页面效果 代码部分 结构层: <!DOCTYPE html> < ...

最新文章

  1. mfc 固定编辑框输入上限和下限_餐饮行业案例:固定工资、底薪提成改成这样,员工为自己拼命干...
  2. 【语音SBC算法】基于正交滤波器组的语音SBC算法设计与实现
  3. Linux中查看信息的命令
  4. [导入]FreeTextBox 1.6.3 中文版使用说明
  5. 《Oracle数据库管理与维护实战》——1.2 Oracle各版本异同
  6. HCIE Security PKI 备考笔记(幕布)
  7. 字符串 -- 3.1 Valid Palindrome -- 图解
  8. kaggle比赛:房价预测(基于MXNet框架)
  9. 一千行代码铸造Terminal文本编辑器
  10. meethigher-腾讯课堂自动签到
  11. 【QT】入门基础教程Qt5
  12. 黑马程序员_Java基础(环境搭建、进制转换、运算符)
  13. 发现美,欣赏美,美之我见
  14. 【opencv-python】 HSV抠图-智能车拟合道路边界和中线
  15. 已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。
  16. Processing绘制星空-1-随机生成静态星星
  17. Comodo的多域名通配符https证书
  18. 动态路由 华三nat 静态路由_史上最详细H3C路由器NAT典型配置案例
  19. css怎么随着鼠标移动,利用CSS sprites制作随着鼠标移动的动画背景
  20. 高性能服务器架构(High-Performance Server Architecture)

热门文章

  1. 安化云台山风景区邀您畅玩浪漫的中秋之夜
  2. 莫队——BZOJ3289 Mato的文件管理
  3. python登录邮箱#183;
  4. jquery.reveal_使用jQuery Reveal插件构建弹出模态窗口
  5. javascript中的innerHTML是什么意思,怎么个用法?
  6. 数学分析-极值的第一充分条件证明
  7. 青海成全国高高原支线机场增量最多省份
  8. python逗号怎么用_Python中的逗号的特殊用法
  9. 网页/微信中的腾讯视频下载方法
  10. web项目031-----保存实名认证信息获取实名信息