<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>新年快乐(元旦)</title><!-- 这是网页标题 -->
<style>
body{overflow: hidden;margin: 0;
}
h1{position: fixed;top: 30%;left: 0;width: 100%;text-align: center;transform:translateY(-50%);font-family: 'Love Ya Like A Sister', cursive;font-size: 60px;color: #c70012;padding: 0 20px;
}
h1 span{position: fixed;left: 0;width: 100%;text-align: center;
margin-top:30px;font-size:40px;
}
</style></head>
<body>
<h1 id="h1"></h1>
<canvas></canvas> <!--canvas 画布--><script>
var canvas = document.querySelector("canvas"),ctx = canvas.getContext("2d");var ww,wh;function onResize(){ww = canvas.width = window.innerWidth;wh = canvas.height = window.innerHeight;
}ctx.strokeStyle = "red";
ctx.shadowBlur = 25;
ctx.shadowColor = "hsla(0, 100%, 60%,0.5)";var precision = 100;
var hearts = [];
var mouseMoved = false;
var nowYear=new Date().getFullYear()+1; // 获取当前年
function onMove(e){mouseMoved = true;if(e.type === "touchmove"){hearts.push(new Heart(e.touches[0].clientX, e.touches[0].clientY));hearts.push(new Heart(e.touches[0].clientX, e.touches[0].clientY));}else{hearts.push(new Heart(e.clientX, e.clientY));hearts.push(new Heart(e.clientX, e.clientY));}
}var Heart = function(x,y){this.x = x || Math.random()*ww;this.y = y || Math.random()*wh;this.size = Math.random()*2 + 1;this.shadowBlur = Math.random() * 10;this.speedX = (Math.random()+0.2-0.6) * 8;this.speedY = (Math.random()+0.2-0.6) * 8;this.speedSize = Math.random()*0.05 + 0.01;this.opacity = 1;this.vertices = [];for (var i = 0; i < precision; i++) {var step = (i / precision - 0.5) * (Math.PI * 2);var vector = {x : (15 * Math.pow(Math.sin(step), 3)),y : -(13 * Math.cos(step) - 5 * Math.cos(2 * step) - 2 * Math.cos(3 * step) - Math.cos(4 * step)) }this.vertices.push(vector);}
}Heart.prototype.draw = function(){this.size -= this.speedSize;this.x += this.speedX;this.y += this.speedY;ctx.save();ctx.translate(-1000,this.y);ctx.scale(this.size, this.size);ctx.beginPath();for (var i = 0; i < precision; i++) {var vector = this.vertices[i];ctx.lineTo(vector.x, vector.y);}ctx.globalAlpha = this.size;ctx.shadowBlur = Math.round((3 - this.size) * 10);ctx.shadowColor = "hsla(0, 100%, 60%,0.5)";ctx.shadowOffsetX = this.x + 1000;ctx.globalCompositeOperation = "screen"ctx.closePath();ctx.fill()ctx.restore();
};function render(a){requestAnimationFrame(render);hearts.push(new Heart())ctx.clearRect(0,0,ww,wh);for (var i = 0; i < hearts.length; i++) {hearts[i].draw();if(hearts[i].size <= 0){hearts.splice(i,1);i--;}}
}onResize();
window.addEventListener("mousemove", onMove);
window.addEventListener("touchmove", onMove);
window.addEventListener("resize", onResize);
requestAnimationFrame(render);window.onload=function starttime(){var nowYearData=nowYear+'/'+1+'/'+1time(h1,nowYearData.toString());     // 计算元旦时间ptimer = setTimeout(starttime,1000); // 添加计时器
}function time(obj,futimg){var nowtime = new Date().getTime(); // 现在时间转换为时间戳var futruetime =  new Date(futimg).getTime(); // 未来时间转换为时间戳var msec = futruetime-nowtime; // 毫秒 未来时间-现在时间var time = (msec/1000);  // 毫秒/1000var day = parseInt(time/86400); // 天  24*60*60*1000 var hour = parseInt(time/3600)-24*day;    // 小时 60*60 总小时数-过去的小时数=现在的小时数 var minute = parseInt(time%3600/60); // 分 -(day*24) 以60秒为一整份 取余 剩下秒数 秒数/60 就是分钟数var second = parseInt(time%60);  // 以60秒为一整份 取余 剩下秒数obj.innerHTML="<br>"+"距离"+nowYear+"年还有:"+"<br>"+day+"天"+hour+"小时"+minute+"分"+second+"秒"+"<br>"+"<span>"+"愿我所念的人平安喜乐,<br>愿我所想的事顺心如意。"+"<br>"+"May the people I think of be safe and happy, "+"<br>"+"and may the things I think of be all right."+"</span>"return true;}
</script>
<audio autoplay="autoplay" loop="loop" preload="auto"     src="http://music.163.com/song/media/outer/url?id=1851244378.mp3">
</audio>
</body>
</html>

前端使用js实现新年(元旦)倒计时相关推荐

  1. HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

    HTML+CSS+svg绘制精美彩色闪灯圣诞树, HTML+CSS+Js实时新年时间倒数倒计时(附源代码) 本篇目录 一.前言 二.主要功能 三.效果展示 四.编码实现步骤 五.资源下载 六.完整源代 ...

  2. js 点击闭包_【新年跳槽必备】2020最新(前端原生JS专题)面试题 速领!

    最近我把每周更新的面试题 发在我们的学习群里 大家似乎都很高冷哇 难道是默默的做题去了没说话 每期面试题都是Richard老师认真准备的 真的希望能帮到大家哦 本期是前端原生JS专题 A前端原生JS专 ...

  3. js实现任意节日倒计时html

    目录 前言 一.创建文件夹 二.编写html代码 1.创建一个html结尾的文件 2.用编辑器打开 3.代码如下 4.修改代码 三.效果图 四.源码地址 总结 前言 分享一个可以自定义的原生js倒计时 ...

  4. C++元旦倒计时代码系列合集

    目录 1.简单倒计时代码 2.元旦倒计时绘制 小科普: 1.简单倒计时代码 这是一个简单的程序示例,它可以帮助您计算元旦节到当前时间的倒计时: #include <iostream> #i ...

  5. HTML——2022年超好看的元旦倒计时

    2022即将到来,快来一起做一个元旦倒计时分享给自己喜欢的人吧~ PC效果图: 手机效果图: html: <!doctype html> <html> <head> ...

  6. 【javascript】元旦倒计时代码

    元旦倒计时代码 引言 设计思路 源码 动画效果 引言 马上就是2023年元旦了,公司要求在网站上都需要加上新年的倒计时,今天就来做了吧 设计思路

  7. android京东秒杀倒计时,js实现京东秒杀倒计时功能

    本文实例为大家分享了js实现京东秒杀倒计时功能的具体代码,供大家参考,具体内容如下 首先给大家看看效果图,因为是做的移动端的,所以放大给大家看看局部就行: 关于实现京东秒杀,之前用过其他的方法,今天给 ...

  8. 好程序员web前端分享js剪切板Clipboard.js 使用

    好程序员web前端分享js剪切板Clipboard.js 使用,clipboard.js是一个用来设置剪切板的库,小巧无依赖,但用法有点诡异,必须依赖一个DOM元素. 必须要与一个DOM元素相关联,并 ...

  9. 对学校的希望和寄语_新年元旦寄语【三篇】

    [导语]元旦,即公历的1月1日,是世界多数国家通称的新年.元,谓始,凡数之始称为元:旦,谓日:元旦意即初始之日.元旦一词在我国文学作品中最早出现于<晋书>.以下是无忧考网为大家整理的新年元 ...

最新文章

  1. 一个很棒的Flutter学习资源列表
  2. python numpy array转置_详解Numpy数组转置的三种方法T、transpose、swapaxes
  3. IOPS和Throughput
  4. vue入门学习篇——父子组件通信
  5. 实验楼mysql实验-搭建一个简易的成绩管理系统的数据库
  6. 云计算相关的一些概念Baas、Saas、Iaas、Paas
  7. node.js 知识分享网站源码【毕业设计】
  8. sql 获取日期时分秒_sql2000 获取当前日期只要年月日,不要时分秒
  9. 食堂饭卡管理系统C语言——课程设计实习
  10. 人像美颜美妆算法入门必备
  11. 大学计算机基础相关书籍,大学计算机基础
  12. 关于外接显示器无信号的解决办法Win10
  13. 21天打卡活动 leetcode 301
  14. 赛门铁克并购 Blue Coat 的益处显现
  15. 几种混沌系统混沌模型
  16. DRM框架(vkms)分析(3)----connector->func connector->helper_private的使用
  17. 区块链技术研究热点有哪些
  18. 空间大战java_回忆S60(塞班)年代的JAVA游戏:有没有哪一款是你在课堂偷偷玩的?...
  19. python django 个人图片网站
  20. 软件正在吞噬整个世界

热门文章

  1. 基于云模型的协同过滤推荐算法代码实现(附源代码)
  2. c语言水塔水位控制,简述水塔水位控制器的控制方式
  3. STM32 - 独立看门狗IWDG - 使用注意事项+代码
  4. 开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!
  5. 量化投资分析-Tushare数据获取
  6. Scott 数据 映射 MySQL
  7. 计算机CCT考试模拟操作题,基础计算机cct考试模拟题.doc
  8. 爬虫 -----beautifulsoup、Xpath、re (二)附爬取丁香园用户名以及回复内容
  9. ArcGIS API for JavaScript 报错Uncaught ReferenceError:define is not defined
  10. 惠普HP Color LaserJet Pro M454dn 打印机驱动