php 项目创意,JavaScript实现“创意时钟”项目
“时钟展示项目”说明文档(文档尾部附有相应代码)
一、最终效果展示:
二、项目亮点
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实现“创意时钟”项目相关推荐
- jQuery+css3实现极具创意的罗盘旋转时钟效果源码
效果 HTML代码 <!DOCTYPE html> <html><head><meta charset="UTF-8"><ti ...
- 开源C++项目Google JavaScript引擎V8挑战实录,带你进入V8之旅
开源C++项目Google JavaScript引擎V8挑战实录,带你进入V8之旅 http://www.cnblogs.com/pugang/archive/2012/04/02/2430519.h ...
- 基于RT-Thread OS的 迷你时钟项目
基于RT-Thread OS的 迷你时钟项目 近期在自学RT-Thread OS, 这是一个国内团队开发的实时物联网操作系统,具有组件完整丰富.高度可伸缩.简易开发等优点. RTOS官网 参考学习文档 ...
- 视频教程-ASP.NET MVC5 实战(arcgis项目)-JavaScript
ASP.NET MVC5 实战(arcgis项目) 从事软件开发10年,熟悉软件开发流程,精通WEB系统程序开发.先后参与水利厅,环保厅,国税局,国土资源厅等重大项目的建设.精通地理信息系统研发,参与 ...
- 基于Lua框架下的合宙ESP32C3+1.54‘’Eink墨水屏天气时钟项目
基于Lua框架下的合宙ESP32C3+1.5''Eink墨水屏天气时钟项目 效果展示
- 手机python软件怎么创建项目_创建成功的 Python 项目
创建成功的 Python 项目 Patrick Altman 2012 年 3 月 14 日发布 Python 开源项目的生态系统丰富多样.您可以在这一雄厚的基础上完成下一个开源项目的生产.此外,这也 ...
- 静态创意和动态创意_我在22岁时学到的关于创意指导的知识
静态创意和动态创意 During my last semester at college, I took a course titled "Collaborative Workshop&qu ...
- 巨量引擎创意分类和创意标签使用技巧
今天主要和大家聊聊: 创意标签和创意分类使用方法 一: 系统是如何把广告投放给目标人群的? 答案: 账户定向(基础定向+目标定向)+素材(标题+图片+视频)+创意分类+创意标签 按照上面的公式的四个因 ...
- 团队项目第6周 - Alpha阶段项目复审 - 天冷记得穿秋裤队
团队项目第六周 - Alpha阶段项目复审 - 天冷记得穿秋裤队 经小组讨论得出以下排名 小组 优点 缺点,bug报告 最终名次 冲鸭队 一款融合了2048和俄罗斯方块的小游戏,题材十分新颖,游戏充满 ...
- 商城项目怎么包装?电商项目的策划技巧解析
电商已经开始在人们的生活中逐渐延伸,并开始一步一步的影响着人们的生活.因此,在一个发展迅猛却又竞争激烈的行业中,项目包装自然就成为了商城项目推广运营的核心部分.实践证明,一个好的包装项目,是项目双方双 ...
最新文章
- python 命令行参数-python中命令行参数
- Tomcat的优化技巧
- 救基友记2_JAVA
- 如何让智能客服成为企业的生产力工具?
- 数据库面试题【十三、超大分页怎么处理】
- 浅析Entity Framework Core中的并发处理
- thriftserver的SparkSQL命令行操作Hive表
- 编程语言_JavaScript_面试题005
- Sql Server 行转列学习 根据学生表、课程表、学生成绩表统计每个学生的各科成绩和他的总成绩、平均成绩...
- ArchLinux On Win10
- keras学习率下降策略
- 学习数据库的概念,作用
- 生成socks代理以及http代理
- t检验的显著性p值python_Python P值
- 单元测试,我有话说(No tests to run. No tests were executed)
- 四个方面分析SEO如何提高网站的权重
- 区块链革命 - 第1篇 假如需要变革 - 第2章 区块链经济七大设计原则
- 并查集巧妙用法(codeforces)C. Destroying Array
- 如何成为一名云计算工程师
- 关于数学中“函数(function)”的含义
热门文章
- 国内主流短信验证码平台收费价格对比「二」:亿佰云、秒嘀科技、极光短信、华信云通信
- rails使用html form,在erb文件中使用rails form_tag和html表单代码有什么区别?
- 计算机网络——网络层:控制层面
- C语言常用的数学函数
- oracle otm运输管理系统_OTM服务中国十年-Oracle.PDF
- 红帽:商业模式比技术更重要
- 用Python告诉你深圳房租有多高,做程序员真的能买得起嘛
- Metasploit2: tcp port 139/445 – Samba smbd
- 【新手村专属】服创比赛总结
- iOS GameCenter