首页 >知识讲堂 >网站建设知识>如何利用CSS3和jQuery制作一个漂亮的动态时钟

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

2021-01-04 11:40:16 阅读(193 评论(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函数,每秒执行一次。这个函数中也有一些获取时间的变量,所以每次调用时间值都会自动更新。这个函数中也有一些获取时间的变量,所以每次调用都会自动更新时间值。这样,我们的时钟就可以工作了。

以上就是关于如何利用CSS3和jQuery制作一个漂亮的动态时钟的相关介绍,更多如何利用CSS3和jQuery制作一个漂亮的动态时钟相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对如何利用CSS3和jQuery制作一个漂亮的动态时钟有更深的了解和认识。

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

推荐阅读

引人深思的灾难片排行榜,每一部都震撼人心

在现在快速发展的社会中,各种影视剧层出不穷,但是其中票房比较高的还是属于灾难片,有一句话,灾难始终慢我们一步,已然证明了我们可以预测灾难来临的时间,在这段时间中我们可以悄然撤离,那么今天我们就来盘点一下灾难片排行…查看详情

有了这四款安卓模拟器,电脑也能玩手机游戏

安卓模拟器突破了平台的局限性,使得安卓手机游戏也可以在电脑端正常运行,于是各种各样的安卓模拟器都被开发出来,那么安卓模拟器哪个好用呢?蓝叠模拟器bluestacks蓝叠BlueStacks安卓模拟器采用了该公司新专利LayerCake技术,...查看详情

豆瓣高分好看的科幻电影排行榜推荐

电影是我们现在快节奏生活中非常常见的一种*方式,那在电影中也分很多种类型,恐怖的,搞笑的,言情的,那我们今天就来讲一讲科幻这个类型,这个类型包含了很多未来的科技,或者是太空中想不到的事情,那我们就好好说一说科幻电影…查看详情

2022年手机免费小说软件排行榜

家无聊怎么办?看小说要不是没有资源就是要钱,接下来给大家分享这些手机免费小说软件,软件上的小说更新也非常快,完全没有书荒的烦恼。为大家带来最好的体验!1、《TXT全本免费小说》人气非常高的一款阅读神器,软件收录了诸多站…查看详情

用什么方法能够保障建站服务器安全?这些方式值得尝试

在建立网站的时候,服务器是必不可少的一种网络设备,只有使用服务器,才可以在网上进行各种业务的拓展,起到宣传的效果,但是如果服务器在安全方面没有保障,或者是运行不稳定的话,那么很有可能会造成网站没有办法访问等,这些…查看详情

CRM客户信息管理系统如何管理企业客户信息?

企业发展到一定规模之后,客户信息数据化、系统化的管理是非常必要的。企业想要发觉挖掘新市场,扩大销售范围,就需要详细的记录客户信息,然后将客户进行分类管理,整理重要客户信息,开发新客户资源,只有这样才能更好的进攻市…查看详情

综合网站运营,你要面临这些问题。

综合网站运营涉及的面比较广,比如SEO运营就是SEO这一点上下功夫,而综合网站运营则需要从:企业用户所在行业,产品,服务,同行等多个方面,展开整个网站运营前期的规划、设计、以及具体方案的落地,然后再到运用SEO打造大量关键词…查看详情

中小企业分销管理系统怎么选

分销管理系统哪个好?应该怎么选?因为每个中小企业的实际情况不同,所以具体的答案也会不同。但是无论怎么样,分销管理系统的作用是不容置疑的。下面小万就从三个方面来介绍一下电商分销管理系统该如何选择。图片来源网络1、安全…查看详情

c语言strcpy函数用法

strcpy如何变量赋值?标准C中没有字符串变量这一说法,其存储字符串是用字符数组。#includestrsep函数使用方法?strcpy()是C中的一个复制字符串的库函数,在C++中现在编译器要求使用strcpy_s(),提高安全性,效果...查看详情

淘宝店铺被风控如何解决?

  优质答案(1)  1、打开淘宝;  2、点击“我的”;  3、点击官方客服;  4、发送淘宝单号给客服,要求风控拦截解除。  首先就是要进行申诉,虽然说申诉成功的几率很低的,这样做之后起码会有一定的成功的几率,比这样干等…查看详情

市场营销推广策略有哪些?

IP产品的推广可以采用什么样的营销策略?答,之所以选择IP产品,或花费成本将产品与已知IP进行结合,目的就是为了利用IP的已知知名度,为产品做推广营销。所以IP产品的营销,主要内容是突出产品与IP的结合度,所以,需要营销人员不光了…查看详情

必须做小程序的商家,都有这些相似点

我为什么要做小程序?刷爆朋友圈和各大营销平台的小程序话题,不由让商家发出这样的疑问。的确,不是所有商家都必须要做小程序。电商、微店、公众号、企业网站,各个平台运营管理已经让不少商家头疼不已,多一个小程序,带来的销…查看详情

自己的作品怎么申请版权?自己的作品申请版权方法

  现在很多的个人作品也是可以申请版权登记的,但是很多人第一方面没有这一块的意识,而且还对申请版权这个不是很熟悉,下面万商云集*给大家来详细介绍一下自己的作品怎么申请版权?自己的作品申请版权方法这一块的内容,希望下…查看详情

飞行模拟软件有哪些?飞行模拟软件介绍

每一个人都有当宇航员的梦想,但是并不是所有的人都能够成功,如果想要体验一把当飞行员的梦想,很多人都会选择一些飞机模拟软件来下载使用,这样不仅能够在游戏当中体验到快乐,而且使用这些软件还能够让自己体验飞行驾驶员的感…查看详情

推荐5款高效的考勤系统软件

随着大数据时代的到来,互联网一直改变这人们的生活习惯,企业也逐渐改革自有的管理机制,向智能化、数字化方向发展。以下是我推荐的5款高效的考勤系统软件,需要的朋友可以看一看。1.考勤助手它是一款可以应用在企业考勤系统的软…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询