100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > JavaScript实现“创意时钟”项目

JavaScript实现“创意时钟”项目

时间:2023-02-05 11:05:16

相关推荐

JavaScript实现“创意时钟”项目

web前端|js教程

JavaScript,创意时钟,js

web前端-js教程

点石成金 源码,如何运行容器ubuntu,阿里云tomcat不响应,爬虫助手APP,PHP目录怎么改名,商河seolzw

“时钟展示项目”说明文档(文档尾部附有相应代码)

php优惠券系统源码,vscode es7,ssr ubuntu,tomcat6下载,vc sqlite3,网页设计赚钱网站,访问服务器数据库,云服务器 域名备案,任务宝插件下载,轻量级的前端框架,爬虫贴吧,php优化,seo研究,springboot ip限流,jquery 标签内文字居中显示,卖东西的网站模板免费下载,为什么手机插件打不开网页视频教程,微信商城模板带分销,不允许 直接 访问本系统的后台管理界面,404页面html模板,开源 物流管理系统,微信转发联盟程序lzw

A、最终效果展示:

php全站系统源码,ubuntu用户赋予权限,tomcat8的默认用户名,黑色小爬虫学名,php不显示css格式怎么办,seo电话推荐lzw

B、项目亮点

1.代码结构清晰明了

2.可以实时动态显示当前时间与当前日期

3.界面简洁、美观、大方

4.提高浏览器兼容性

C、知识点汇总:

jQuery、原生javascript、css3、h5

D、重难点解释

1.各个指针的旋转角度的获取

首先要明确如下概念:

时钟指针旋转一周360度

时针:

表盘上共有12小时,每经过一小时,要旋转30度;

分针:

表盘上共有60个小格子,分针每走一分钟,经过一个小格子,转动6度;

秒针:

表盘上共有60个小格子,秒针每走一分钟,经过一个小格子,也转动6度;

(1)当前时间的获取

举个例子(以时针旋转角度计算为例): 比如现在时间是 9:28;

时针应该在9和10之间,而通过方式只能获取到整点,所以既要获取到当前的小时,也要获取到当前的分钟,这样才能更好的来确定时针的旋转角度,即为如下方式:

(2)旋转角度的获取

由于时针每经过一个小时后,旋转30度,故获取时针旋转角度如下:

同理,分针与秒针的旋转角度如下:

分针:

秒针:

为了使时钟更加的精准,这里精确到了毫秒;

(3)执行频率,即秒针旋转频率控制

调整函数的执行时间间隔即可改变秒针转动频率。

E、项目待优化之处

1.页面过于简洁,有待进一步优化和改进;

2.作图时未来得及在时钟上画上分秒的刻度;

F、项目中各部分代码

1.HTML代码

jQuery指针时钟(附带日期)

2.css代码

*{ margin:0; padding:0;}body{ background:#f9f9f9; color:#000; font:15px Calibri, Arial, sans-serif; text-shadow:1px 2px 1px #FFFFFF;}a,a:visited{ text-decoration:none; outline:none; color:#fff;}a:hover{ text-decoration:underline; color:#ddd;}/*the footer (尾部)*/footer{ background:#444 url("../images/bg-footer.jpg") repeat; position:fixed; width:100%; height:70px; bottom:0; left:0; color:#fff; text-shadow:2px 2px #000; /*提高浏览器的兼容性*/ -moz-box-shadow:5px 1px 10px #000; -webkit-box-shadow:5px 1px 10px #000; box-shadow:5px 1px 10px #000;}footer h1{ font:25px/26px Acens; font-weight:normal; left:50%; margin:0px 0 0 150px; padding:25px 0; position:relative; width:400px;}footer a.orig,a.orig:visited{ background:url("../images/demo2.jpg") no-repeat right top; border:none; text-decoration:none; color:#FCFCFC; font-size:14px; height:70px; left:50%; line-height:50px; margin:12px 0 0 -400px; position:absolute; top:0; width:250px;}/*styling for the clock(时钟样式)*/#clock{ position: relative; width: 600px; height: 600px; list-style: none; margin: 20px auto; background: url(../images/clock.jpg) no-repeat center; }#seconds,#minutes,#hours{ position: absolute; width: 30px; height: 580px; left: 270px;}#date{ position: absolute; top: 365px; color: #666; right: 140px; font-weight: bold; letter-spacing: 3px; font-family: "微软雅黑"; font-size: 30px; line-height: 36px;}#hours{ background: url(../images/hands.jpg) no-repeat left; z-index: 1000;}#minutes{ background: url(../images/hands.jpg) no-repeat center; width:25px; z-index: 2000;}#seconds{ background: url(../images/hands.jpg) no-repeat right; z-index: 3000;}

View Code

3.js代码

(1)需要下载一个js的引用包(百度或者谷歌一下你就知道)

(2)js代码

$(document).ready(function () { //动态插入HTML代码,标记时钟 var clock = [

, \, \, \, \, \].join(\); // 逐渐显示时钟,并把它附加到主页面中 $(clock).fadeIn().appendTo(ody); //每一秒钟更新时钟视图的自动执行函数 //也可以使用此方法: setInterval (function Clock (){})(); (function Clock() { //得到日期和时间 var date = new Date().getDate(), //得到当前日期 hours = new Date().getHours(), //得到当前小时 minutes = new Date().getMinutes(); //得到当前分钟 seconds = new Date().getSeconds(),//得到当前秒 ms = new Date().getMilliseconds();//得到当前毫秒 //将当前日期显示在时钟上 $("#date").html(date); //获取当前秒数,确定秒针位置 var srotate = seconds + ms / 1000; $("#seconds").css({ //确定旋转角度 ransform: otate( + srotate * 6 + deg),}); //获取当前分钟数,得到分针位置 var mrotate = minutes + srotate / 60; $("#minutes").css({ ransform: otate( + mrotate * 6 + deg), //提高浏览器的兼容性 -moz-transform: otate( + mrotate * 6 + deg), -webkit-transform: otate( + mrotate * 6 + deg) }); //获取当前小时,得到时针位置 var hrotate = hours % 12 + (minutes / 60); $("#hours").css({ ransform: otate( + hrotate * 30 + deg), //提高浏览器的兼容性 -moz-transform: otate( + hrotate * 30 + deg), -webkit-transform: otate( + hrotate * 30 + deg) }); //每一秒后执行一次时钟函数 setTimeout(Clock, 1000); })();});

4.一些必要的图片素材(c此处不再一一列举或展示)

注释:

1.Transform 属性

2.rotate() 方法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。