js 分享一个 时钟效果
*{
margin: 0;
padding: 0;
}
#outLine{
width: 300px;
height: 300px;
border-radius: 300px;
background-color: beige;
position: relative;
}
#inLine
{
width: 280px;
height: 280px;
position: absolute;
border-radius: 280px;
background-color: white;
left:10px;
top: 10px;
}
#inLine div:not([id])
{
width: 280px;
height: 30px;
top:125px;
transform-origin: 140px 15px;
}
.begin
{
width: 30px;
float: right;
line-height: 30px;
text-align: center;
}
.end
{
text-align: center;
width: 30px;
float: left;
line-height: 30px;
}
#inLine div:nth-child(1)
{
transform: rotate(-90deg);
}
#inLine div:nth-child(2)
{
transform: rotate(-60deg);
}
#inLine div:nth-child(3)
{
transform: rotate(-30deg);
}
{
transform: rotate(30deg);
}
#inLine div:nth-child(6)
{
transform: rotate(60deg);
}
#inLine div:first-child span
{
transform: rotate(90deg);
}
#hour{
width: 80px;
height: 10px;
transform-origin: 0px 5px;
background-color: chartreuse;
transform: rotate(-90deg);
position: absolute;
left: 140px;
top:135px;
}
#minute,#second
{
width: 100px;
height: 10px;
transform-origin: 0px 5px;
background-color: chartreuse;
transform: rotate(-90deg);
position: absolute;
left: 140px;
top:135px;
}
</style>
<body>
<div id="outLine">
<div id="inLine">
<div><span class="begin">12</span><span class="end">6</span></div>
<div><span class="begin">1</span><span class="end">7</span></div>
<div><span class="begin">2</span><span class="end">8</span></div>
<div><span class="begin">3</span><span class="end">9</span></div>
<div><span class="begin">4</span><span class="end">10</span></div>
<div><span class="begin">5</span><span class="end">11</span></div>
<div id="hour"></div> <!-- 时针的div-->
<div id="minute"></div> <!--分针的div-->
<div id="second"></div> <!--秒针的div-->
</div>
</div>
</body>
var seconds=0;
var minutes=0;
var hours=0;
var second=document.querySelector("#second");
var minute=document.querySelector("#minute");
var hour=document.querySelector("#hour");
animation();
function animation() {
requestAnimationFrame(animation); //浏览器用于定时循环操作的一个接口,类似于setTimeout,主要用途是按帧对网页进行重绘。
var date=new Date();
seconds=date.getSeconds()*6-90+date.getMilliseconds()*(6/1000); //度数
second.style.transform="rotate("+seconds+"deg)"; //秒针转过的度数
minutes=date.getMinutes()*6-90+date.getSeconds()*(6/60);
minute.style.transform="rotate("+minutes+"deg)"; //分针转过的度数
hours=date.getHours()*30-90+date.getMinutes()*(30/60)+date.getSeconds()*(30/3600);
hour.style.transform="rotate("+hours+"deg)"
}
js 分享一个 时钟效果的更多相关文章
- 史上最简单的js+css3实现时钟效果
今天我看到百度搜索的时间那个效果不错,于是就产生了模仿一下的效果,不过为了节省时间,就随便布了下局,废话不多说,先看看效果吧,顺便把百度的效果也拿过来. 对比样子差了好多啊,但是基本功能都是实现了的, ...
- JS实现简单时钟效果
老师上课需要我们做一个时钟的小作业 ,我把它放在上面记录一下啦 表盘和时针我都是用的背景图的形式,然后绝对定位,通过调整left和top确定时针.分针.秒针的位置,transform-origin设置 ...
- 用JS实现一个时钟的效果
(效果图) 分两步进行的. 第一步: 要得到现在的 时 分 秒 但是这里面有一个小玄机 . 比如现在是 9点整 时针指向 9 是没错的 但是如果现在是 9点半 时针应该指向的是 9到1 ...
- layer.js,,,分享一个好用的弹出层
基本属性: <!DOCTYPE html> <html> <head> <head> <meta content="text/html; ...
- transform实现的时钟效果
又来一个时钟效果了,这个的实现不需要canvas,都是div.ul.li画出的,好玩有真实. 哈哈~ 需要的js才能实现到走动这个效果,但js的内容不多,也不难. 主要是一个css里transform ...
- 原生javascript实现网页显示日期时钟效果
刚接触javascript中Date内置对象时,以为这些方法都太简单了,结果要自己实际操作写一个时钟效果还真一时把我难住了,主要有几点大家要注意的.先看实际效果 要实现这样的效果 某年某月某日星期几几 ...
- 福利到~分享一个基于jquery的智能提示控件intellSeach.js
一.需求 我们经常会遇到[站内搜索]的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示.例如:某公司人事管理系统,想搜索李XX,只要输入“李”,系统自然会提示一些姓李的员工,这样方便用户 ...
- 基于canvas的原生JS时钟效果
概述 运用html5新增画布canvas技术,绘制时钟效果,无需引用任何插件,纯js. 详细 代码下载:http://www.demodashi.com/demo/11935.html 给大家介绍一个 ...
- JS制作一个创意数字时钟
通过js代码制作一个创意数字时钟 通过JS代码实现创意数字时钟效果如下:由数字化的卡通形象图片取代常规的数字显示当前实时北京时间.具体效果示例: 核心重点: (1)Date方法的初步了解 (2)构建模 ...
随机推荐
- 个人永久性免费-Excel催化剂功能第81波-指定单元格区域内容及公式填充
在日常数据处理过程中,需要对缺失数据进行填充时,按一定逻辑规则进行处理,实现快速填充,规范数据源.此篇给大家带来多种填充数据的场景. 业务使用场景 对各种系统中导出的数据,很多时候存在数据缺失的情况, ...
- 一些学习js的算法题目
1.排序 问题描述 编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列. 输入格式:输入只有一行,即三个整数,中间用空格隔开. 输出格式:输出只有一行,即排序后的结果. 输入输出样 ...
- pycharm编辑器配置(持续更新完善)
谨记:pycharm仅是一款编辑器,不要太依赖 pycharm的提示,不然后期换了编辑器就不行了 python解释器安装.多版本共存等 去python官网下载安装,配置环境变量.多版本共存等问题请参见 ...
- ping(网络诊断工具)
ping(网络诊断工具) Ping是Windows下的一个命令,在Unix和Linux下也有这个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用"ping"命令可 ...
- Linux下gcc编译器的使用
例:gcc -x -g c helloC -o firstC -x:改变gcc的行为.(注:如果是.c文件则不用加-x) -x c :编译c程序 -x c++ :编译c++程序 -x java :编译 ...
- .net持续集成sonarqube篇之项目管理与用户管理
系列目录 删除项目 在学习阶段,我们可能需要经常删除已构建的项目,在sonarqube中想要删除一个项目有两个入口,都在Administration导航栏内. 在项目内部的管理界面删除 如果项目处于打 ...
- 手动创建MySQL服务
1.复制一份MySQL服务文件,放入一个路径 2.清理data文件夹下文件,仅保留mysql等 3.修改my.ini,port,...dir等配置 4.管理员运行cmd,cd>bin:mysql ...
- IO流4
IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字 ...
- 细说RESTFul API之版本管理
目录 接口实现版本管理的意义 如何实现接口的版本管理 项目实战 接口实现版本管理的意义 API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着非常重要的意义. 首先,对于API ...
- Vue事件修饰符详解
整体学习Vue时看到Vue文档中有事件修饰符的描述,但是看了之后并没有理解是什么意思,于是查阅了资料,现在记录下来与大家分享 先给大家画一个示意图理解一下冒泡和捕获 (1) .stop修饰符 请看如下 ...