JS实现电子时钟
目前有个小项目,在首页头部导航栏里需要一个电子时钟的效果,于是我就采用如下代码实现了一个电子时钟的效果。不过不完美,第一种方式容易导致网页莫名其妙的异常,后来觉得可能是做的操作太多了,然后又编写了如2所示的代码。代码比较简单,思路也比较简单就不多介绍了,在此做个记录,以备以后的项目中也会使用的到。
1:存在导致网页异常的现象,猜测是做的操作太多了,不过这种方式只要网页加载,就能够保证时钟一直走下去
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Show Time Page</title>
</head>
<body> <a id="time"></a> <script type="text/javascript"> function timeShow()
{
var years,months,dates,hours,minutes,seconds,weeks; var intYears,intMonths,intDates,intHours,intMinutes,intSeconds,intWeeks; var today; var timeString; today = new Date();//获得系统当前时间 intYears = today.getFullYear();//获得年
intMonths = today.getMonth() + 1;//获得月份+1
intDates = today.getDate();//获得天数
intHours = today.getHours();//获得小时
intMinutes = today.getMinutes();//获得分钟
intSeconds = today.getSeconds();//获得秒
intWeeks = today.getDay();//获得星期 years = intYears + '年 '; if(intMonths < 10){
months = '0' + intMonths + '月';
}else{
months = intMonths + '月';
} if(intDates < 10){
dates = '0' + intDates + '日 ';
}else{
dates = intDates + '日 ';
} var weekArray = new Array(7); weekArray[0] = '星期日';
weekArray[1] = '星期一';
weekArray[2] = '星期二';
weekArray[3] = '星期三';
weekArray[4] = '星期四';
weekArray[5] = '星期五';
weekArray[6] = '星期六'; weeks =weekArray[intWeeks] + ' '; if(intHours == 0){
hours = '00:';
}else if(intHours < 10){
hours = '0' + intHours + ':';
}else{
hours = intHours + ":";
} if(intMinutes == 0){
minutes = '00';
}else if(intMinutes < 10){
minutes = '0' + intMinutes ;
}else{
minutes = intMinutes;
} timeString = years + months + dates + weeks + hours + minutes $("#time").text(timeString);
window.setInterval('timeShow()',60000);
} </script>
</body>
</html>
2:改进版,经测试没有引起网页异常的现象
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Show Time Page</title>
</head>
<body> <a id="time"></a><a id="bjtime"></a> <script type="text/javascript">
/*
进入页面加载的方法
*/
window.onload=function()
{
var date=new Date(),time=date.getTime();
setInterval(function() {set(time);time = Number(time);time += 1000;},1000);
setTodayDate(date);
} /*
设置日期的方法,针对年月日星期的显示
*/
function setTodayDate(today)
{
var years,months,dates,weeks, intYears,intMonths,intDates,intWeeks,today,timeString; intYears = today.getFullYear();//获得年
intMonths = today.getMonth() + 1;//获得月份+1
intDates = today.getDate();//获得天数
intWeeks = today.getDay();//获得星期 years = intYears + '年 '; if(intMonths < 10){
months = '0' + intMonths + '月';
}else{
months = intMonths + '月';
} if(intDates < 10){
dates = '0' + intDates + '日 ';
}else{
dates = intDates + '日 ';
} var weekArray = new Array(7);
weekArray[0] = '星期日';
weekArray[1] = '星期一';
weekArray[2] = '星期二';
weekArray[3] = '星期三';
weekArray[4] = '星期四';
weekArray[5] = '星期五';
weekArray[6] = '星期六';
weeks =weekArray[intWeeks] + ' '; timeString = years + months + dates + weeks; document.getElementById('time').innerHTML=timeString;
} /*
设置北京时间的方法,针对时分秒的显示
*/
function set(time)
{
var beijingTimeZone = 8;
var timeOffset = ((-1 * (new Date()).getTimezoneOffset()) - (beijingTimeZone * 60)) * 60000;
var now = new Date(time - timeOffset);
document.getElementById('bjtime').innerHTML = p(now.getHours())+':'+p(now.getMinutes())+':'+p(now.getSeconds());
} /*
格式化时间的显示方式
*/
function p(s)
{
return s < 10 ? '0' + s : s;
} </script>
</body>
</html>
3:代码比较简单,直接可以使用,放到文本文件中修改文件格式即可,比如:.html,用浏览器打开便可直接查看代码的效果,如下图所示:
JS实现电子时钟的更多相关文章
- js傻瓜式制作电子时钟
js傻瓜式制作电子时间 使用到的知识点 setInterval函数 构建函数new Date if判断 demo: //css样式请自行设置 <span id="timer" ...
- Js电子时钟
简单版电子时钟,需要以下几个步骤 1. 封装一个函数 返回当前的时分秒 2. 使用定时器使当前以获取到的系统时间走动,每间隔一面调用 3. 把获取到的时间放到span盒子里,添加样式 效果展示 实现 ...
- dom事件操作例题,电子时钟,验证码,随机事件
dom事件操作 当事件发生时,可以执行js 例子: 当用户点击时,会改变<h1>的内容: <h1 onClick="this.innerHTML='文本更换'"& ...
- [JS,Canvas]日历时钟
[JS,Canvas]日历时钟 Html: <!doctype html> <html> <head> <meta charset="UTF-8&q ...
- JavaScript电子时钟+倒计时
JavaScript时间类 获取时分秒: getHours() getMinutes(); getSeconds(); 获取 ...
- 桌面小部件----LED电子时钟实现
桌面控件是通过 Broadcast 的形式来进行控制的,因此每个桌面控件都对应于一个BroadcastReceiver.为了简化桌面控件的开发,Android 系统提供了一个 AppWidgetPro ...
- Qt - 与众不同的电子时钟
Qt的电子时钟是个老掉牙的demo了,但是利用lcdNumber显示的样子非常老土(下图第一个显示效果),一看就知道是从qt帮助文档里摘出来的example,毫无新意. 美化一下系统时钟,抛开固有控 ...
- [TPYBoard-Micropython之会python就能做硬件 3] 制作电子时钟
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.TPYboard V102板 一块 2.DS3231 ...
- 3分钟利用TurnipBit制作电子时钟
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 TurnipBit(www.turnipbit.com)是一个面向青少年的开发板 ...
随机推荐
- PHP解码unicode编码中文字符代码示例
在抓取某网站数据,结果在数据包中发现了一串编码的数据:"......\u65b0\u6d6a\u5fae\u535a......", 这其实是中文被unicode编码后了的数据,想 ...
- __VA_ARGS__用法(转)
自定义调试信息的输出 调试信息的输出方法有很多种, 例如直接用printf, 或者出错时使用perror, fprintf等将信息直接打印到终端上, 在Qt上面一般使用qDebug,而守护进程则一 ...
- ADF_ADF Faces系列6_ADF数据可视化组件简介之建立Thematic Map Component
2013-05-01 Created By BaoXinjian
- codeforces 323A. Black-and-White Cube 构造
输入n 1 <= n <= 100 有一个n * n * n 的立方体,由n ^ 3 个1 * 1 * 1 的单位立方体构成 要用white 和 black 2种颜色来染这n ^ 3个立方 ...
- DrawTools(画图工具)原始版本
上一篇文章一个优秀的C#开源绘图软件 DrawTools中详细的介绍了DrawTools的几种演化的较高版本的软件的特色与功能. 这篇文章,将介绍一下这款软件的成名版本, 下载地址DrawTool_O ...
- sizeof 和 strlen 区别
Sizeof与Strlen的区别与联系 一.sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型. ...
- 使用BeanUtils操作Bean属性
package com.wzh.test.beanutils; import java.lang.reflect.InvocationTargetException; import java.text ...
- JS工作积累
/* * YYYY-MM-DD类型的字符串日期比较 * */ String.prototype.compareAsDate=function(dateStr){//prototype原型方法 var ...
- ubuntu 配置TFTP和NFS
1.安装软件包 sudo apt-get install tftpd tftp xinetd 2.建立配置文件 在/etc/xinetd.d/下建立一个配置文件tftp sudo vi /etc/xi ...
- java小程序 示例
乘法表: package com.test; import org.junit.Test; public class TestSwitch { @Test public void test() { f ...