前端使用js实现新年(元旦)倒计时
<!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实现新年(元旦)倒计时相关推荐
- HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)
HTML+CSS+svg绘制精美彩色闪灯圣诞树, HTML+CSS+Js实时新年时间倒数倒计时(附源代码) 本篇目录 一.前言 二.主要功能 三.效果展示 四.编码实现步骤 五.资源下载 六.完整源代 ...
- js 点击闭包_【新年跳槽必备】2020最新(前端原生JS专题)面试题 速领!
最近我把每周更新的面试题 发在我们的学习群里 大家似乎都很高冷哇 难道是默默的做题去了没说话 每期面试题都是Richard老师认真准备的 真的希望能帮到大家哦 本期是前端原生JS专题 A前端原生JS专 ...
- js实现任意节日倒计时html
目录 前言 一.创建文件夹 二.编写html代码 1.创建一个html结尾的文件 2.用编辑器打开 3.代码如下 4.修改代码 三.效果图 四.源码地址 总结 前言 分享一个可以自定义的原生js倒计时 ...
- C++元旦倒计时代码系列合集
目录 1.简单倒计时代码 2.元旦倒计时绘制 小科普: 1.简单倒计时代码 这是一个简单的程序示例,它可以帮助您计算元旦节到当前时间的倒计时: #include <iostream> #i ...
- HTML——2022年超好看的元旦倒计时
2022即将到来,快来一起做一个元旦倒计时分享给自己喜欢的人吧~ PC效果图: 手机效果图: html: <!doctype html> <html> <head> ...
- 【javascript】元旦倒计时代码
元旦倒计时代码 引言 设计思路 源码 动画效果 引言 马上就是2023年元旦了,公司要求在网站上都需要加上新年的倒计时,今天就来做了吧 设计思路
- android京东秒杀倒计时,js实现京东秒杀倒计时功能
本文实例为大家分享了js实现京东秒杀倒计时功能的具体代码,供大家参考,具体内容如下 首先给大家看看效果图,因为是做的移动端的,所以放大给大家看看局部就行: 关于实现京东秒杀,之前用过其他的方法,今天给 ...
- 好程序员web前端分享js剪切板Clipboard.js 使用
好程序员web前端分享js剪切板Clipboard.js 使用,clipboard.js是一个用来设置剪切板的库,小巧无依赖,但用法有点诡异,必须依赖一个DOM元素. 必须要与一个DOM元素相关联,并 ...
- 对学校的希望和寄语_新年元旦寄语【三篇】
[导语]元旦,即公历的1月1日,是世界多数国家通称的新年.元,谓始,凡数之始称为元:旦,谓日:元旦意即初始之日.元旦一词在我国文学作品中最早出现于<晋书>.以下是无忧考网为大家整理的新年元 ...
最新文章
- 一个很棒的Flutter学习资源列表
- python numpy array转置_详解Numpy数组转置的三种方法T、transpose、swapaxes
- IOPS和Throughput
- vue入门学习篇——父子组件通信
- 实验楼mysql实验-搭建一个简易的成绩管理系统的数据库
- 云计算相关的一些概念Baas、Saas、Iaas、Paas
- node.js 知识分享网站源码【毕业设计】
- sql 获取日期时分秒_sql2000 获取当前日期只要年月日,不要时分秒
- 食堂饭卡管理系统C语言——课程设计实习
- 人像美颜美妆算法入门必备
- 大学计算机基础相关书籍,大学计算机基础
- 关于外接显示器无信号的解决办法Win10
- 21天打卡活动 leetcode 301
- 赛门铁克并购 Blue Coat 的益处显现
- 几种混沌系统混沌模型
- DRM框架(vkms)分析(3)----connector->func connector->helper_private的使用
- 区块链技术研究热点有哪些
- 空间大战java_回忆S60(塞班)年代的JAVA游戏:有没有哪一款是你在课堂偷偷玩的?...
- python django 个人图片网站
- 软件正在吞噬整个世界
热门文章
- 基于云模型的协同过滤推荐算法代码实现(附源代码)
- c语言水塔水位控制,简述水塔水位控制器的控制方式
- STM32 - 独立看门狗IWDG - 使用注意事项+代码
- 开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!
- 量化投资分析-Tushare数据获取
- Scott 数据 映射 MySQL
- 计算机CCT考试模拟操作题,基础计算机cct考试模拟题.doc
- 爬虫 -----beautifulsoup、Xpath、re (二)附爬取丁香园用户名以及回复内容
- ArcGIS API for JavaScript 报错Uncaught ReferenceError:define is not defined
- 惠普HP Color LaserJet Pro M454dn 打印机驱动