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

一、最终效果展示:

二、项目亮点

1.代码结构清晰明了

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

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

4.提高浏览器兼容性

三、知识点汇总:

jQuery、原生javascript、css3、h5

四、重难点解释

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

首先要明确如下概念:

时钟指针旋转一周360度

时针:

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

分针:

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

秒针:

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

(1)当前时间的获取

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

时针应该在9和10之间,而通过

方式只能获取到整点,所以既要获取到当前的小时,也要获取到当前的分钟,这样才能更好的来确定时针的旋转角度,即为如下方式:

(2)旋转角度的获取

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

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

分针:

秒针:

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

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

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

五、项目待优化之处

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

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

六、项目中各部分代码

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.png") 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.png") 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.png') 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.png') no-repeat left;

z-index: 1000;

}

#minutes

{

background: url('../images/hands.png') no-repeat center;

width:25px;

z-index: 2000;

}

#seconds

{

background: url('../images/hands.png') no-repeat right;

z-index: 3000;

}

View Code

3.js代码

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

(2)js代码$(document).ready(function () {

//动态插入HTML代码,标记时钟

var clock = [

'

  • ',

'

',

'

',

'

',

'

',

'

'].join('');

// 逐渐显示时钟,并把它附加到主页面中

$(clock).fadeIn().appendTo('body');

//每一秒钟更新时钟视图的自动执行函数

//也可以使用此方法: 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({

//确定旋转角度

'transform': 'rotate(' + srotate * 6 + 'deg)',

});

//获取当前分钟数,得到分针位置

var mrotate = minutes + srotate / 60;

$("#minutes").css({

'transform': 'rotate(' + mrotate * 6 + 'deg)',

//提高浏览器的兼容性

'-moz-transform': 'rotate(' + mrotate * 6 + 'deg)',

'-webkit-transform': 'rotate(' + mrotate * 6 + 'deg)'

});

//获取当前小时,得到时针位置

var hrotate = hours % 12 + (minutes / 60);

$("#hours").css({

'transform': 'rotate(' + hrotate * 30 + 'deg)',

//提高浏览器的兼容性

'-moz-transform': 'rotate(' + hrotate * 30 + 'deg)',

'-webkit-transform': 'rotate(' + hrotate * 30 + 'deg)'

});

//每一秒后执行一次时钟函数

setTimeout(Clock, 1000);

})();

});

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

注释:

1.Transform 属性

2.rotate() 方法

php 项目创意,JavaScript实现“创意时钟”项目相关推荐

  1. jQuery+css3实现极具创意的罗盘旋转时钟效果源码

    效果 HTML代码 <!DOCTYPE html> <html><head><meta charset="UTF-8"><ti ...

  2. 开源C++项目Google JavaScript引擎V8挑战实录,带你进入V8之旅

    开源C++项目Google JavaScript引擎V8挑战实录,带你进入V8之旅 http://www.cnblogs.com/pugang/archive/2012/04/02/2430519.h ...

  3. 基于RT-Thread OS的 迷你时钟项目

    基于RT-Thread OS的 迷你时钟项目 近期在自学RT-Thread OS, 这是一个国内团队开发的实时物联网操作系统,具有组件完整丰富.高度可伸缩.简易开发等优点. RTOS官网 参考学习文档 ...

  4. 视频教程-ASP.NET MVC5 实战(arcgis项目)-JavaScript

    ASP.NET MVC5 实战(arcgis项目) 从事软件开发10年,熟悉软件开发流程,精通WEB系统程序开发.先后参与水利厅,环保厅,国税局,国土资源厅等重大项目的建设.精通地理信息系统研发,参与 ...

  5. 基于Lua框架下的合宙ESP32C3+1.54‘’Eink墨水屏天气时钟项目

    基于Lua框架下的合宙ESP32C3+1.5''Eink墨水屏天气时钟项目 效果展示

  6. 手机python软件怎么创建项目_创建成功的 Python 项目

    创建成功的 Python 项目 Patrick Altman 2012 年 3 月 14 日发布 Python 开源项目的生态系统丰富多样.您可以在这一雄厚的基础上完成下一个开源项目的生产.此外,这也 ...

  7. 静态创意和动态创意_我在22岁时学到的关于创意指导的知识

    静态创意和动态创意 During my last semester at college, I took a course titled "Collaborative Workshop&qu ...

  8. 巨量引擎创意分类和创意标签使用技巧

    今天主要和大家聊聊: 创意标签和创意分类使用方法 一: 系统是如何把广告投放给目标人群的? 答案: 账户定向(基础定向+目标定向)+素材(标题+图片+视频)+创意分类+创意标签 按照上面的公式的四个因 ...

  9. 团队项目第6周 - Alpha阶段项目复审 - 天冷记得穿秋裤队

    团队项目第六周 - Alpha阶段项目复审 - 天冷记得穿秋裤队 经小组讨论得出以下排名 小组 优点 缺点,bug报告 最终名次 冲鸭队 一款融合了2048和俄罗斯方块的小游戏,题材十分新颖,游戏充满 ...

  10. 商城项目怎么包装?电商项目的策划技巧解析

    电商已经开始在人们的生活中逐渐延伸,并开始一步一步的影响着人们的生活.因此,在一个发展迅猛却又竞争激烈的行业中,项目包装自然就成为了商城项目推广运营的核心部分.实践证明,一个好的包装项目,是项目双方双 ...

最新文章

  1. python 命令行参数-python中命令行参数
  2. Tomcat的优化技巧
  3. 救基友记2_JAVA
  4. 如何让智能客服成为企业的生产力工具?
  5. 数据库面试题【十三、超大分页怎么处理】
  6. 浅析Entity Framework Core中的并发处理
  7. thriftserver的SparkSQL命令行操作Hive表
  8. 编程语言_JavaScript_面试题005
  9. Sql Server 行转列学习 根据学生表、课程表、学生成绩表统计每个学生的各科成绩和他的总成绩、平均成绩...
  10. ArchLinux On Win10
  11. keras学习率下降策略
  12. 学习数据库的概念,作用
  13. 生成socks代理以及http代理
  14. t检验的显著性p值python_Python P值
  15. 单元测试,我有话说(No tests to run. No tests were executed)
  16. 四个方面分析SEO如何提高网站的权重
  17. 区块链革命 - 第1篇 假如需要变革 - 第2章 区块链经济七大设计原则
  18. 并查集巧妙用法(codeforces)C. Destroying Array
  19. 如何成为一名云计算工程师
  20. 关于数学中“函数(function)”的含义

热门文章

  1. 国内主流短信验证码平台收费价格对比「二」:亿佰云、秒嘀科技、极光短信、华信云通信
  2. rails使用html form,在erb文件中使用rails form_tag和html表单代码有什么区别?
  3. 计算机网络——网络层:控制层面
  4. C语言常用的数学函数
  5. oracle otm运输管理系统_OTM服务中国十年-Oracle.PDF
  6. 红帽:商业模式比技术更重要
  7. 用Python告诉你深圳房租有多高,做程序员真的能买得起嘛
  8. Metasploit2: tcp port 139/445 – Samba smbd
  9. 【新手村专属】服创比赛总结
  10. iOS GameCenter