服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

如何利用CSS3和jQuery制作一个漂亮的动态时钟

2021-01-04 11:40:16 阅读(195 评论(0)

本文翻译自OldscholclockwithCSS3andjquery,主要讲述了如何利用CSS3和jquery制作一个美丽的动态时钟。Hi,大家好,我叫TobyPitman。chris邀请我写一篇关于我最近在论坛上发布的一些实验成果的文章,所以当我在Webkitblog和sawanarticle上看一些新的CSS3动画时,一个rotate属性深深吸引了我的注意,于是我开始写这篇文章。我在想什么可以在网页上旋转(GIF动画图片似乎可以),所以我有一个想法——是的,时钟不能旋转吗!开始!CSS3Transform:rotateTransform:rotate是CSS3的一个新特征,它可以让你...当然是实现一些旋转的东西。Transform还可以让你在网页上缩放、倾斜和移动对象。而以上这些都可以通过Transition属性来实现动画效果。听起来熟悉吗?是的,当然,和以前一样,我们还是会结合jquery来实现页面上元素的动画效果。因为使用jquery可以方便地操作CSS,从而获得动画效果。联想一下a:hover效果,你会对如何实现这个例子产生一些想法。它远没有jquery和mootols那么强大,但它足以做一些很酷的事情。请注意:此时钟例只能在Firefox3.1.1运行 、Safari3 在Chrome浏览器上。首先,我们需要准备一些图片作为时钟的图形界面。在这里,我们使用一张钟盘图片和三张指针图片,其中我们使用photoshop切割的600个运动指针×30张图片,并垂直放置。然后利用rotate属性使其绕中心点旋转。当然,指针使用透明的PNG格式图片。HTML标记此时钟的HTML标记非常简单,只使用UL列表,每个列表项(li)分别对应三个运动指针,并分配相应的id,代码如下:HTML标记此时钟的HTML标记非常简单,只使用UL列表,每个列表项(li)分别对应三个运动指针,并分配相应的id,代码如下:CSS代码复制代码#clock{position:relative;width:600px;height:600px;margin:20pxauto0auto0;background:url(clockface.jpg);list-style:none;}#sec,#min,#hour{position:absolute;width:30px;height:600px;top:0px;left:285px;}#sec{background:url(sechand.png);z-index:3;}#min{background:url(minhand.png);z-index:2;}#hour{background:url(hourhand.png);z-index:1;}CSS代码的复制也很简单,因为三个运动指针尺寸相同,从同一位置开始运动,我们把它们的代码写在一起,以简化代码。为了实现时钟内指针的绝对定位(absolutelyposition)我们将ul设置为相对定位(relativeposition)。为了实现时钟内指针的绝对定位(absolutelyposition)我们将ul设置为相对定位(relativeposition)。下面我们的jquery就要上场了。在这里,Javascript主要完成以下工作:获取当前时间计算和添加每个元素的CSS风格(旋转角度)定期设置CSS风格以获取时间。您可能会将PHP中的时间和日期等同于PHP,一开始,我的第一个想法是使用PHP,然而,后来我发现javascript中也有构造日期和时间的功能函数。需要注意的是,javascript获得的是本地时间,而不是服务器时间。首先,我将使用Date()函数获取日期信息,并将其赋予变量,我们可以通过Getseconds(),GetMinutes()或GetHours()获取三个指针的信息,如下代码:varseconds=newDate().getSeconds();上述代码将返回0到59的数字,并将其分配给seconds变量。接下来,我将计算每个指针的角度。接下来,我将计算每个指针的角度。我们将每周分为60等分,所以只要360/60,我们就会得到每个6,这意味着指针每秒或每分钟都会向前移动6度。将计算结果保存到另一个变量中,代码如下:varsdegree=seconds*6;时针的情况有点不同,因为每个周期是12等分,所以每小时针的前进角度是30度:360/12=30。在这种情况下,如果时针按这个增量运动,那就简单了,但并没有那么简单。它应该根据分针的值移动一小段距离,比如3:如果是30,时针会在3和4之间,但是我们该怎么办呢?请参见以下代码:varhdegree=hours*30 (mins/2);基本上,我们需要将分钟数除以2的值添加到hour后面,该值在0.5到29.5之间(rotate属性支持浮点小值)。例如,2.40将得到:2*30=60degress 40/2=20degreeseress----------------------hdegree=以下是CSSSS3rotate的CSS样式代码:#sec{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);}在这里,我们用jQuery动态添加上述样式:$("#sec").css({"-moz-transform":"rotate(45deg)","-webkit-transform":"rotate(45deg)"});这里的一个问题是如何将'sdegree'变量替换样式表中的45deg,可以这样做:varsrotate="rotate(" sdegree "deg)";jquery代码修改如下:$("#sec").css({"-moz-transform":srotate,"-webkit-transform":srotate});整合所有代码的jQuery代码如下:复制代码$(document).ready(function(){setInterval(function(){varseconds=newDate().getSeconds();varsdegree=seconds*6;varsrotate="rotate(" sdegree "deg)";$("#sec").css({"-moz-transform":srotate,"-webkit-transform":srotate});},1000);setInterval(function(){varhours=newDate().getHours();varmins=newDate().getMinutes();varhdegree=hours*30 (mins/2);varhrotate="rotate(" hdegree "deg)";$("#hour").css({"-moz-transform":hrotate,"-webkit-transform":hrotate});},1000);setInterval(function(){varmins=newDate().getMinutes();varmdegree=mins*6;varmrotate="rotate(" mdegree "deg)";$("#min").css({"-moz-transform":mrotate,"-webkit-transform":mrotate});},1000);});请注意,我们在Javascript中使用了setinterval函数,每秒执行一次。这个函数中也有一些获取时间的变量,所以每次调用时间值都会自动更新。这个函数中也有一些获取时间的变量,所以每次调用都会自动更新时间值。这样,我们的时钟就可以工作了。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

青岛网站建设价格是多少?青岛网站建设费用

网络的时代一定是靠网络来发展的,所以说很多的企业也都会拥有自己的网站,有了自己的网站之后才能够带来更好的发展,也能够展现出自己很好的形象,会让更多的客户找到自己。但是也有些企业并没有建立自己的网站,那么这个时候可能就会损失掉一部分网上的客户…查看详情

无internet访问权限怎么解决?

  有的时候我们会遇到“无Internet访问权限”的问题,但如果不会解决的话该怎么办呢?这个问题好解决,不是大事,因为*我知道呢。所以接下来*就要开始自立舞台开始我的演讲啦。你们就继续往下看,看看我是怎么解决的吧~ 关于怎么解决“无Int…查看详情

浏览器缓存怎么清理 浏览器缓存清理方法

  我们使用浏览器的时间久了,发现用电脑打开网页速度变慢,或者看视频可能有点卡顿。这时候就要考虑是不是浏览器的缓存太多了导致的,如果浏览器缓存过多就要定期清理浏览器缓存,下面分享清理浏览器缓存的方法,一起来看一下吧。浏览器缓存是什么  浏览…查看详情

根据目标用户和功能作用来看电商系统是什么

电商系统是什么?它是通过互联网技术实现的,支撑网上货物交易的支撑系统,担当了交易活动中的“场景”作用。电商系统是多个子系统的集合,其核心功能是支撑线上交易,其他功能都是在此基础上作出的延伸。图片来源于网络电商城系统是什么?它是以商城交易为主…查看详情

网络测速软件有哪些 网络测速app推荐

现在很多的用户都比较关心自己的网速问题,现在市面上的网络测速软件也是有很多的,下面万商云集*给大家来详细介绍一下网络测速软件有哪些 网络测速app推荐这方面的内容。希望能帮助到大家。  1.speedtest  测网速speedtest,…查看详情

国内独立站平台有哪些

很多的跨境电商都想要建立一个独立网站,其实独立网站是非常不错的,能够用来展示以及销售自己的产品,也能够带来更多的流量,所以说商家们在进行建设的时候,也都会找到一些比较好的国内独立站平台。那么国内独立站平台有哪些?下面就来给大家详细的介绍一下…查看详情

没有广告的免费阅读小说软件有哪些?免费阅读小说软件推荐

不少的人有看小说的习惯。很多人在看小说的时候,也都会选择用手机手机上下载一个比较好的APP,就能够进行阅读。但是有些手机下载之后,经常有广告弹出或者是需要付费,所以说很多人都想要找到免费阅读的小说软件。那么没有广告的免费阅读小说…查看详情

ERP系统实施为企业带来的方案和效果是什么

在引入ERP系统的过程中,实施是一个极其关键也是最容易被忽视的环节。企业的ERP项目只有在一定科学方法的指导下,才能够成功实现企业的应用目标。那么ERP系统实施为企业带来的方案和效果是什么? ERP系统实施方案有哪些内容: (一)建立实施策…查看详情

适合律师使用的iPhone录音软件

作为一名律师来说,给别人打官司首先要有足够的证据,这样才可以保证在开庭的时候有信心能赢过对方,那么,收集证据最基本的方法就是通过录音的形式,关于iPhone录音软件有哪些?1、录音宝录音宝是一款带来高品质音频、音频转文字贴心服务的手机录音软…查看详情

线上办公软件有哪些 常用办公软件推荐

最近两年受疫情影响,越来越多的企业选择在线上进行办公。办公软件是线上办公很重要的一部分,线上考勤打卡、分配任务、审批财务报告等。所以我给大家盘点了6款好用的办公软件,有需要的小伙伴可以看看哦~ 1.智办公 它是一款功能强大…查看详情

以太网是什么 以太网详细介绍

  以太网(Ethernet)最早由Xerox(施乐)公司创建,1980年由DEC(美国数字设备公司)、Intel(英特尔公司)和Xerox三家公司联合开发成为一个网络标准,但是很多的小伙伴对这个以太网都比较陌生,下面*就给大家来详细介绍一…查看详情

2021最实用四大条码打印软件排名

条码打印软件可以轻松设计条码标签,彩色条码生成等等。同时,条码打印软件十分方便,可以轻轻松松地完成条码打印,费时也不多。因此,现在越来越多的人开始使用条码打印软件了。下面是2021最实用四大条码打印软件排名。 第一名bartender打印软…查看详情

著作权的取得并不需要进行登记,可自动获取!

在我国《著作权法》第一章第二条有明确规定,中国公民、法人或者其他组织的作品,不论是否发表,都依法享有著作权,所以著作权的取得并不需要通过著作权登记。著作权登记是作者的确权行为,取得的是具有法律效益的著作权登记证书。图片来源于网络著作权即版权…查看详情

注册网址在哪里可以注册

如果想要拥有自己的网站,那么就应该要选择域名注册网址,虽然说有很多的企业已经拥有了自己的网址,但是也有部分企业不知道在哪里进行注册。那么注册网址在哪里可以注册?这个问题相信是很多的企业都想要了解的话题,接下来就给大家详细的介绍一…查看详情

一份经建站公司多年专业化的规范,积累出的建设网站的具体步骤

专业的网站建设公司都常有一个建设网站的具体步骤,并且这一步骤是根据很多年的专业化的规范累积出来的,一般绝大多数根据此步骤建设网站的,最终的效果都很好。下面就由小万来为你讲解这一专业、规范的建设网站的具体步骤吧。图片来源于网络 建设网站的具体…查看详情

最新文章