唯有热爱,可抵岁月漫长,唯有热爱,不畏世间无常!
少年不曾迷茫,展翅飞往神域,坚定初心,踏实行动。
新的一年,收下少年的祝福,一起踏上新道路。
💪(ง •_•)ง!!!
There is a Crack in Everything, That's How the Light Gets in.
万物皆有裂痕,那是光进来的地方。
目录
一、前言
二、创意设计
三、效果展示
四、代码实现
index.html
js 文件夹
css 文件夹
image 文件夹
五、获取源码
需要源码,可以私信我(⊙o⊙)?关注我?
一、前言
不知道最近这几天大家过得怎么样呢?
祝大家新年快乐啊!!!
这是我2023年的新一篇文章,希望可以得到大家的支持🙇
二、创意设计
1、HTML精彩罗盘时钟
2、好看的背景图
3、精确本地同步时间
4、CSS
5、JS
三、效果展示
背景图,罗盘时钟效果图
四、代码实现
index.html
这个 html 代码比较简单,更多的是引用了 css / js样式等 因此在调试代码时应注意路径问题
不太理解或者刚刚入坑的小伙伴们,可以学习一下的绝对路径与相对路径相关问题
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>罗盘</title><script>console.log("微信公众号搜索 Enovo开发工厂");console.log("CSDN搜索 Enovo_飞鱼");</script><link rel="stylesheet" href="css/clock.css" /></head><body><ul class="clock" id="helang-clock"><hr /></ul><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/clock.js"></script><script type="text/javascript">$("#helang-clock").clock();</script></body>
</html>
js 文件夹
内含两个.js 文件,分别是 olcok.js 及 jquery.min.js
下面显示的是 clock.js 代码
也主要的 js 代码 控制及显示罗盘时钟信息
注意观察哦(⊙o⊙)!
clock.js
console.log("微信公众号搜索 Enovo开发工厂");
console.log("CSDN搜索 Enovo_飞鱼");$.fn.extend({/* 时钟 */clock:function () {var HL={};HL.$el=$(this);HL.ZHCNArr=['零','一','二','三','四','五','六','七','八','九','十'];/* 转为简体中文 */HL.changeZHCN=function (value) {/* 小于 10 */if(value<10){return this.ZHCNArr[value];}var val=value.toString(),str='';/* 整 10 */if(val.charAt(1)==0){if(val.charAt(0)!=1){str=this.ZHCNArr[parseInt(val.charAt(0),10)];}str+=this.ZHCNArr[10];return str;}/* 小于 20 */if(value<20){str=this.ZHCNArr[10]+this.ZHCNArr[parseInt(val.charAt(1),10)];return str;}str=this.ZHCNArr[parseInt(val.charAt(0),10)]+this.ZHCNArr[10]+this.ZHCNArr[parseInt(val.charAt(1),10)];return str;};/* 设置日期 */HL.setDate=function(){var yearStr='',monthStr='',dayStr='';var y=this.dateInfo.year.toString();for(var i=0;i<y.length;i++){yearStr+=this.changeZHCN(parseInt(y.charAt(i),10));}monthStr=this.changeZHCN(this.dateInfo.month);dayStr=this.changeZHCN(this.dateInfo.day);if(this.els){this.els.date.html(yearStr+'年'+monthStr+'月'+dayStr+'日');}else {this.$el.append('<li class="date">'+(yearStr+'年'+monthStr+'月'+dayStr+'日')+'</li>');}};/* 设置小时 */HL.setHour=function(){var str='',rotateArr=[];for(var i=1;i<=24;i++){rotateArr.push(r=360/24*(i-1)*-1);str+='<div><div>'+(this.changeZHCN(i))+'时</div></div>';}this.$el.append('<li class="hour on-hour">'+str+'</li>');setTimeout(function () {HL.$el.find(".on-hour>div").each(function (index,el) {$(el).css({"transform":"rotate("+rotateArr[index]+"deg)"})});setTimeout(function () {HL.setMinute();},300);},100)};/* 设置分钟 */HL.setMinute=function(){var str='',rotateArr=[];for(var i=1;i<=60;i++){rotateArr.push(360/60*(i-1)*-1);str+='<div><div>'+(this.changeZHCN(i))+'分</div></div>';}this.$el.append('<li class="hour minute on-minute">'+str+'</li>');setTimeout(function () {HL.$el.find(".on-minute>div").each(function (index,el) {$(el).css({"transform":"rotate("+rotateArr[index]+"deg)"})});setTimeout(function () {HL.setSec();},300)},100);};/* 设置秒 */HL.setSec=function(){var str='',rotateArr=[];for(var i=1;i<=60;i++){rotateArr.push(360/60*(i-1)*-1);str+='<div><div>'+(this.changeZHCN(i))+'秒</div></div>';}this.$el.append('<li class="hour sec on-sec">'+str+'</li>');setTimeout(function () {HL.$el.find(".on-sec>div").each(function (index,el) {$(el).css({"transform":"rotate("+rotateArr[index]+"deg)"})});setTimeout(function () {HL.initRotate();},1300);},100);};/* 初始化滚动位置 */HL.initRotate=function(){this.rotateInfo={"h":360/24*(this.dateInfo.hour-1),"m":360/60*(this.dateInfo.minute-1),"s":360/60*(this.dateInfo.sec-1),};this.els={"date":this.$el.find(".date"),"hour":this.$el.find(".on-hour"),"minute":this.$el.find(".on-minute"),"sec":this.$el.find(".on-sec")};this.els.hour.css({"transform":"rotate("+this.rotateInfo.h+"deg)"});this.els.minute.css({"transform":"rotate("+this.rotateInfo.m+"deg)"});this.els.sec.css({"transform":"rotate("+this.rotateInfo.s+"deg)"});setTimeout(function () {HL.$el.find("hr").addClass("active").css({"width":"49%"});HL.start();},300);};/* 启动 */HL.start=function(){setTimeout(function () {if(HL.dateInfo.sec<=60){HL.dateInfo.sec++;var r=360/60*(HL.dateInfo.sec-1);HL.els.sec.css({"transform":"rotate("+r+"deg)"});HL.minuteAdd();HL.start();}else {console.log(HL.dateInfo.sec)}},1000);};/* 分钟数增加 */HL.minuteAdd=function(){if(HL.dateInfo.sec==60+1){setTimeout(function () {HL.els.sec.css({"transform":"rotate(0deg)","transition-duration": "0s"});HL.dateInfo.sec=1;setTimeout(function () {HL.els.sec.attr("style","transform:rotate(0deg)");},100);HL.dateInfo.minute++;var r=360/60*(HL.dateInfo.minute-1);HL.els.minute.css({"transform":"rotate("+r+"deg)"});HL.hourAdd();},300);}};/* 小时数增加 */HL.hourAdd=function(){if(HL.dateInfo.minute==60+1){setTimeout(function () {HL.els.minute.css({"transform":"rotate(0deg)","transition-duration": "0s"});HL.dateInfo.minute=1;setTimeout(function () {HL.els.minute.attr("style","transform:rotate(0deg)");},100);HL.dateInfo.hour++;var r=360/24*(HL.dateInfo.hour-1);HL.els.hour.css({"transform":"rotate("+r+"deg)"});HL.dayAdd();},300);}};/* 天数增加 */HL.dayAdd=function(){if(HL.dateInfo.hour==24+1){setTimeout(function () {HL.els.hour.css({"transform":"rotate(0deg)","transition-duration": "0s"});HL.dateInfo.hour=1;setTimeout(function () {HL.els.hour.attr("style","transform:rotate(0deg)");},100);var nowDate=new Date();HL.dateInfo.year=nowDate.getFullYear();HL.dateInfo.month=nowDate.getMonth()+1;HL.dateInfo.day=nowDate.getDate();HL.setDate();},300);}};/* 初始化 */HL.init=function(){var nowDate=new Date();this.dateInfo={"year":nowDate.getFullYear(),"month":nowDate.getMonth()+1,"day":nowDate.getDate(),"hour":nowDate.getHours(),"minute":nowDate.getMinutes(),"sec":nowDate.getSeconds()};console.log(this.dateInfo);this.setDate();this.setHour();};HL.init();}
});
jquery.min.js
主要是 jQurey 相关内容
大家可以学习一下这个 jQuery
jQuery 是一个 JavaScript 库。
jQuery 极大地简化了 JavaScript 编程。
jQuery 很容易学习。
css 文件夹
包含一个 .css 文件
主要是调整显示样式
olock.css
body{font-size: 14px;color: white;font-family: 'Microsoft YaHei', 'Times New Roman', Times, serif;background: url(../image/23.jpg) no-repeat;padding: 0;margin: 0;background-size: cover;-webkit-background-size: cover;-moz-background-size: cover;
}
.clock{list-style: none;margin: auto;j'p'gpadding: 0;width: 700px;height: 700px;position: fixed;top: 0;right: 0;bottom: 0;left: 0;line-height: 20px;user-select: none;}.clock .date{position: absolute;z-index: 1;width: 100%;height: 20px;text-align: center;top: 340px;left: 0;
}
.clock .hour{position: absolute;z-index: 3;width: 360px;height: 20px;top: 340px;left: 170px;transition: transform 0.3s ease-in-out 0s;transform:rotate(0deg);
}
.clock .hour>div{position: absolute;width: 100%;right: 0;top: 0;transition: transform 1s ease-in-out 0s;transform:rotate(0deg);
}
.clock .hour>div>div{float: right;width: 60px;text-align: right;
}.clock .minute{position: absolute;z-index: 4;width: 520px;height: 20px;top: 340px;left: 90px;
}
.clock .sec{position: absolute;z-index: 5;width: 680px;height: 20px;top: 340px;left: 10px;
}.clock>hr{height: 0;width: 0%;position: absolute;z-index: 1;border: #ffffff solid 0;border-bottom-width: 1px;margin: 10px 0 0 0;left: 50%;top: 50%;transition: width 0.3s ease-in-out 0s;overflow: visible;
}
.clock>hr.active:before{content: '';display: block;width: 5px;height: 5px;border-radius: 50%;background-color: yellow;top: -2px;left: 0;position: absolute;}
image 文件夹
包含罗盘显示背景图等
如下图所示
五、获取源码
老规矩,先给朋友们看一下完整文件夹
正确的文件如下图
第一步,通过微信公众号下载源码压缩包,解压并打开文件夹,即为上图样式(复制源码请注意路径及文件名)
第二步,可以根据需求自定义背景
第三步,点击 html 文件打开即可,显示当前系统时间
作为新年第一辑,希望得到大家的喜欢🙇
新的开始,又是一个崭新的开始,充满信心,充满希望,充满阳光,走向明天,走向理想!
此时我们就可以看到完美的罗盘时钟了
以上就是我们此次罗盘时钟的全部内容了,是否精彩呢?如果有好的建议或者想法可以联系我,一起交流🙇
需要源码,可以私信我(⊙o⊙)?关注我?
👍+✏️+⭐️+🙇
有需要源码的小伙伴可以 关注下方微信公众号 " Enovo开发工厂 ",回复 关键词 " 1-clock "