用js制作数码时钟
实现效果
图片素材
原理分析
- 用
setInterval(fn, 1000)来循环刷新图片。 - 用
date对象的getHours()、getMinutes()、getSeconds()方法来获取当前的时、分、秒,并且拼接成字符串。 - 通过字符串的处理来改变
<img>的src,从而达到改变图片显示的目的。
代码
<body style="background:black; color: white; font-size:50px; padding: 50px 80px; ">
<img src="data:images/0.png" />
<img src="data:images/0.png" />
:
<img src="data:images/0.png" />
<img src="data:images/0.png" />
:
<img src="data:images/0.png" />
<img src="data:images/0.png" />
</body>
window.onload = function () {
//获取img元素数组
aImg = document.getElementsByTagName('img'); function tick(){
var oDate = new Date(); // 获取当前的时分秒拼接成长度为6的字符串
var str = toDou(oDate.getHours()) +
toDou(oDate.getMinutes()) +
toDou(oDate.getSeconds()); // 遍历所有img,更新src
for(var i = 0; i < aImg.length; i++){
// 第i张图片的src对应str的第i为
aImg[i].src = "images/" + str.charAt(i) + ".png";
}
} // 设置定时器
setInterval(tick, 1000); // 初始化
tick()
} // 为了保证str的长度是6,用toDou()来为一位数补0
function toDou(num) {
return num < 10 ? "0" + num : "" + num;
}
分析总结
更新
src的整体思路是通过长度为6 的字符串str和长度为6的aImg数组对象一一对应,而获取的时分秒有可能是一位数,所以用toDou(num)来补位。toDou (num)中用的是三元运算符,简化了代码。//用if esle
function toDou(num){
if(n<10){
return "0"+num;
}else{
return ""+num;
}
}
//用三元运算符
function toDou(num) {
return num < 10 ? "0" + num : "" + num;
}由于setIteval(fn, 1000)的执行顺序是先延迟,再执行函数,所以在最后单独调用一下tick(),来防止刷新页面后的第一秒显示的是00:00:00。
还有一点,复习下
String对象的charAt()方法:charAt(index)方法可返回指定位置的字符(长度为1的字符串),如果index不在0和str.length之间将返回一个空字符串。
用js制作数码时钟的更多相关文章
- js之数码时钟加随机变色
HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- js绘制圆形时钟
纯js制作圆形时钟 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 通过JS制作一个简易数码时钟
设计思路: 数码时钟即通过图片数字来显示当前时间,需要显示的图片的URL根据时间变化而变化. a.获取当前时间Date()并将当前时间信息转换为一个6位的字符串; b.根据时间字符串每个位置对应的数字 ...
- js基础练习三之数码时钟
这章节有两个实例,1,定时器的使用; 2,数码时钟; 用到的js知识:定时器,Date对象. >>>>>定时器 开启定时器: setInterval 间隔型 setTim ...
- JS超酷时钟的制作
通过补充代码,实现时钟实时显示当前时间:年.月.日.时.分.秒.日期. <!DOCTYPE html> <html> <head lang="zh-CN&quo ...
- JS定时器的使用--数码时钟
<title>无标题文档</title> <script> function toDou(n){ if(n<10){ return '0'+n; }else{ ...
- 利用css+原生js制作简易钟表
利用css+原生js制作简单的钟表.效果如下所示 实现该效果,分三大块:html.javascript.css html部分html部分比较简单,定义一个clock的div,内部有原点.时分秒针.日期 ...
- 使用jQuery和CSS3制作数字时钟(jQuery篇) 附源码下载
HTML 和上一篇文章:使用jQuery和CSS3制作数字时钟(CSS3篇)一样的HTML结构,只是多了个>date用来展示日期和星期的. <div id="clock" ...
- [JS,Canvas]日历时钟
[JS,Canvas]日历时钟 Html: <!doctype html> <html> <head> <meta charset="UTF-8&q ...
随机推荐
- Cesium 云服务
前言 所有行业内都知道云是未来或者现在的趋势,但是真正的完完全全提供地理信息云服务的恐怕只有 Google 一家,然而今天我居然发现 Cesium 提供了云服务,你没有看错,就是曾经的开源 3D 渲染 ...
- ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
官方已经给出解决方案:https://github.com/pyenv/pyenv/wiki/Common-build-problems#error-the-python-ssl-extension- ...
- Install OpenCV 3.0 and Python 2.7+ on Ubuntu
为了防止原文消失或者被墙,转载留个底,最好还是去看原贴,因为随着版本变化,原贴是有人维护升级的 http://www.pyimagesearch.com/2015/06/22/install-Open ...
- cug-day02
昨天就主要就熟悉了项目,今天就简单完成了 后台代码,但是没有进行测试,前端的vue也不是很懂,所以还有很多需要学习的地方. 目前主要就是需要理解项目运行流程, 项目采用的是ssh ,用了vo和po , ...
- Vimium快捷键记录
作为一个Geek必备的技能 从今天起在这里仅记录下使用过的快捷键和心得(翻译自 ?) version: 1.59 版本不同,快捷键有所不同 1. 下载安装地址(自备梯子) Chrome商店:https ...
- Python 基础【二】 上
一.python语言分类 1. C python c语言的python版本 官方推荐 使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行 ...
- 字典的.get方法
字典的.get方法表示是dict.get(key,default)用于判断建是否存在,存在返回键对应的值,不存在返回指定的default值 dict = {'a':1,'b':2} dict.get( ...
- CXF整合spring
近公司需要弄webservics,还说不用框架整合(提倡使用hessian,他们既然说与操作系统有兼容问题,由于人员单薄,不得不屈服,哎),我想了老半天没弄明白他说的不用框架整合spring,尝试过直 ...
- capwap学习笔记——capwap的前世今生(转)
1 capwap的前世今生 1.1 胖AP.瘦AP.AC 传统的WLAN网络都是为企业或家庭内少量移动用户的接入而组建的.因此,只需要一个无线路由器就可以搞定了,就好像现在家用的无线路由器就是胖AP. ...
- 前端为什么非要动静分离 说一下CDN托管的意义
大型Web应用对速度的追求并没有止步于仅仅利用浏览器缓存,因为浏览器缓存始终只是为了提升二次访问的速度,对于首次访问的加速,我们需要从网络层面进行优化,最常见的手段就是CDN(Content Deli ...