JavaScript实战实例剖析——(激励倒计时日历)
如今JavaScript在前端开发中的地位越来越高,掌握JavaScript的深度往往能决定你职业道路深远,这次通过制作 带着倒计时功能的激励日历的小实例,进一步细致的掌握JavaScript的语法与用法。
结构剖析:
<!DOCTYPE html>
<html>
<meta charset="utf-8" author="DylanZZZ">
<head>
<title>倒计时日历</title>
<link rel="stylesheet" type="text/css" href="css/timer.css">
</head>
<body>
<div class="calendar">
<p id="fulldate"></p>
<span id="nowdate"></span>
<strong id="hllo"></strong>
<span><font color="#C5FFFD">----- 今日剩余时光 -----</font></span>
<div id="time"></div>
</div>
<script src="js/timer.js"></script>
</body>
</html>
CSS部分:
.calendar { width: 300px; height: 360px; margin: 100px auto;
background-color: #3CC9FC; text-align: center;
color: #C1DBF5;
border-radius: 40px ;
animation: calendar 4s linear infinite; /*这里的动画属性参见CSS3(水纹波动)的文章*/ }
/*扩散渐变动画*/
@keyframes calendar {
% { box-shadow: rgba(, , , ), rgba(, , , );
}
% { box-shadow: 20px rgba(, , , .), 10px rgba(, , , );
}
% { box-shadow: 40px rgba(, , , ), 20px rgba(, , , ); }
}
.calendar p {
color: #ffffff; font: 18px/80px "微软雅黑";
}
#nowdate {
display: block; height: 100px;
width: 100px; background-color: #DFB779;
text-align: center; margin: auto;
font: 60px/100px "微软雅黑"; color: #ffffff;
}
.calendar strong {
margin: 20px auto; padding: 5px;
display: block; width: 250px;
height: 40px; color: #ffffff;
font: 20px/26px "微软雅黑";
border-top: dashed 1px #ffffff; /*在顶部添加虚线*/
}
#time {
color: #ffffff;
font: 20px/40px "微软雅黑";
}
JavaScript部分:
- 显示当前时间:
window.onload= function(){
var fulldate = document.getElementById('fulldate');
var nowdate =document.getElementById('nowdate');
var hllo = document.getElementById('hllo');
var time =document.getElementById('time');
var fullTime = new Date();
var year = fullTime.getFullYear();
var month = fullTime.getMonth();
var date = fullTime.getDate();
var dayarry = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
var hour = fullTime.getHours();
fulldate.innerHTML = year +"年"+(month+) +"月" +date +"日"+ dayarry[fullTime.getDay()];
nowdate.innerHTML = date;
主要属性:
window属性:onload
onload属性是一个事件处理程序, 用于Window、XMLHttpRequest、<img>元素等的加载事件,在资源加载时会触发。
window属性:document.getElementById()
getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。
new Date()
返回当前的时间。
getFullYear / getMonth / getDate() 方法
getFullYear() 方法可返回一个表示年份/月份/日期的数字。
getDay() 方法
可返回一周(0~6)的某一天的数字。结合上面定义的dayarry数组,输出今天为周 几。
innerHTML 属性
改变 HTML 元素的内容
- 随机励志语句部分
var hlloarry=[
"人在旅途,难免会遇到荆棘和坎坷,风雨过后,有美丽的彩虹。",
"要想改变命运,首先改变自己",
"勤奋是你生命的密码,能译出你一部壮丽的史诗",
"左右一个人成功的,不是能力,而是选择",
"没有退路的时候,正是潜力发挥最大的时候",
"没有天生的信心,只有不断培养的信心", ];
hllo.innerHTML=hlloarry[parseInt(hour/)];
主要属性:
parseInt() 函数
parseInt() 函数可解析一个字符串,并返回一个整数。
- 倒计时部分
var endTime = new Date(year,month,date,,,);
setInterval(fun,);
function fun(){
var nowTime = new Date();
var s = parseInt((endTime-nowTime)/);/*总共的秒数*/
var ss = parseInt(s%);
var m = parseInt((s/)%);
var h = parseInt((s//)%);
s<? ss=""+s:s;
m<? m=""+m:m;
h<? h=""+h:h;
time.innerHTML=h+"小时"+m+"分"+ss+"秒";
}
主要属性:
setInterval(code,millisec) 方法
code:调用函数或计算表达式;millisec:调用 code 之间的时间间隔,以毫秒计, 1000为1秒
倒计时计算方法:
通过endtime 减去 nowtime 得出今天还剩多少秒,再转换为时分秒的格式输出出来。
JavaScript实战实例剖析——(激励倒计时日历)的更多相关文章
- HTML5实战与剖析之媒体元素(6、视频实例)
HTML5中的视频标签和及其模仿视频播放器的效果在一些手机端应用比較多.由于手机端基本上废除了flash的独断.让HTML5当家做主人,所以对视频支持的比較好. 所以今天专门为大家奉上HTML5视频标 ...
- JavaScript实战(带收放动画效果的导航菜单)
虽然有很多插件可用,但为了共同提高,我做了一系列JavaScript实战系列的实例,分享给大家,前辈们若有好的建议,请务必指出,免得误人子弟啊! ( 原创文章,转摘请注明:苏福:http://www. ...
- HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)(转)
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- HTML5实战与剖析之原生拖拽(四可拖动dragable属性和其他成员)
可拖动dragable属性 之前我们已经为大家介绍过几篇有关HTML5中原生拖拽的相关知识了.今天为大家介绍HTML5拖拽中的其他一些小东东,闲话不多说赶快一起看看吧. 在默认情况下,链接.文本和图像 ...
- Selenium2学习-035-WebUI自动化实战实例-033-页面快照截图应用之三 -- 区域截图(专业版)
之前有写过两篇博文讲述了 WebUI 自动化测试脚本中常用的截图方法,敬请参阅如下所示链接: 浏览器显示区域截图 浏览器指定区域截图 那么当需要截取的区域不在浏览器显示窗口范围之内时,之前的方法显然无 ...
- Selenium2学习-027-WebUI自动化实战实例-025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条)
日常的 Web UI 自动化测试过程中,get 或 navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资 ...
- Selenium2学习-014-WebUI自动化实战实例-012-Selenium 操作下拉列表实例-div+{js|jquery}
之前已经讲过了 Selenium 操作 Select 实现的下拉列表:Selenium2学习-010-WebUI自动化实战实例-008-Selenium 操作下拉列表实例-Select,但是在实际的日 ...
- Selenium2学习-007-WebUI自动化实战实例-005-解决 Firefox 版本不兼容:org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary
此文主要讲述 Java 运行 Selenium 脚本时,因 Friefox 浏览器版本与 selenium-server-standalone-x.xx.x.jar 不兼容引起的 org.openqa ...
- (转)HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
随机推荐
- 阿里巴巴 Kubernetes 应用管理实践中的经验与教训
作者 | 孙健波(阿里巴巴技术专家).赵钰莹 导读:云原生时代,Kubernetes 的重要性日益凸显.然而,大多数互联网公司在 Kubernetes 上的探索并非想象中顺利,Kubernetes 自 ...
- 面向对象的7个设计原则->开车理解->贴近生活
设计模式在我们的开发中是不可或缺的一部分,很多人会说,我没用那些设计模式啊,我也开发的挺好的,其实不然,我们在开发中都用到了这些设计模式,只不过我们并没有在意这些,今天我就用开车的方法来解释一下我们的 ...
- 第三十一章 System V信号量(二)
用信号量实现进程互斥示例 #include <unistd.h> #include <sys/types.h> #include <stdlib.h> #inclu ...
- CentOS 7下MySQL 5.7安装
5.7和之前版本的MySQL有一些不同,现把CentOS 7下MySQL 5.7安装.配置与应用完整过程记下来,或许对新手来说有用. 本文描述的安装是采用通用的二进制压缩包(linux – Gener ...
- tslib1.1移植
安装步骤: 1.准备工作确保以下软件已安装 # apt-get install autoconf(或autoconf2.13)# apt-get install automake# apt-get i ...
- uboot启动完成,kernel启动时lcd屏幕出现杂色解决办法
先说说开发环境吧: 1 内核:linux2.6.xx 2 uboot:买开发板带的 注释:在最后我又添加了问题得到完美解决的办法. 问题:uboot启动完成,kernel启动时lcd屏幕出现杂色(比如 ...
- mybatis的parameterType为map,map里带有多个list
我写这个主要是为了解决sql注入 原sql有sql注入, 结果:select req_msg_id from account_message_info where req_msg_id in ('12 ...
- 别翻了,这篇文章就是要让你入门java多线程!
目录 1. 理解线程与进程 2.理解并行和并发 3.特殊的一个单线程:主线程(Main线程) 4. 创建多线程的四种方式 5.使用匿名内部类方式创建线程 6.线程安全问题 7.解决线程安全问题:线程同 ...
- nyoj 115-城市平乱 (BFS)
115-城市平乱 内存限制:64MB 时间限制:1000ms 特判: No 通过数:5 提交数:8 难度:4 题目描述: 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维 ...
- nyoj 822-画图 (*)
822-画图 内存限制:64MB 时间限制:1000ms 特判: No 通过数:133 提交数:187 难度:0 题目描述: 计算机画图也挺有趣的哈!那我们就来用计算机画幅图吧... 输入描述: 输入 ...