js实现日历与定时器

简单的日历,会根据系统日期自动调整对应的日期,每60秒切换一次名言。只要有想法,做出来还是可以与众不同的。

效果图:

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  .calendar {
   width: 300px;
   height: 360px;
   margin: 100px auto;
   background-color: #59ACFF;
   text-align: center;
   color: #C1DBF5;
  }
  .calendar p {
   color: #ffffff;
   font: 400 18px/80px "微软雅黑";
  }
  #nowdate {
   display: block;
   height: 100px;
   width: 100px;
   background-color: #FF9600;
   text-align: center;
   margin: 0 auto;
   font: 700 60px/100px "微软雅黑";
   color: #ffffff;
  }
  .calendar strong {
   margin: 20px auto;
   padding: 5px;
   display: block;
   width: 250px;
   height: 40px;
   color: #ffffff;
   font: 500 20px/26px "微软雅黑";
   border-top: dashed 1px #ffffff;
  }
  #time {
   color: #ffffff;
   font: 500 20px/40px "微软雅黑";
  }
 </style>
 <script>
  window.onload = function () {
   //当前年月日ID
   var fulldate = document.getElementById("fulldate");
   //当前日 ID
   var nowdate = document.getElementById("nowdate");
   //倒计时ID
   var time = document.getElementById("time");
   //问候语ID
   var hllo = document.getElementById("hllo");
   //获取现在的年月日小时
   var fullTime = new Date();
   var year = fullTime.getFullYear();//年
   var month = fullTime.getMonth();//月
   var date = fullTime.getDate();//日
   var hours = fullTime.getHours();//小时
   var dayArr = [ "星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
   //设置年月日
   fulldate.innerHTML = year+" 年 "+(month+1)+" 月 "+date+" 日 "+dayArr[fullTime.getDay()];
   //设置当前日
   nowdate.innerHTML = date;
   //名言数组
   var hlloarr = [
    "只有登上山顶,才能看到那边的风光",
    "山路曲折盘旋,但毕竟朝着顶峰延伸",
    "勤奋是你生命的密码,能译出你一部壮丽的史诗",
    "左右一个人成功的,不是能力,而是选择",
    "我们这个世界,从不会给一个伤心的落伍者颁发奖牌",
    "没有天生的信心,只有不断培养的信心",
    "每一发奋努力的背后,必有加倍的赏赐",
    "不要等待机会,而要创造机会",
    "含泪播种的人一定能含笑收获",
    "让信念坚持下去,梦想就会实现",
    "不要给自己的失败找借口",
    "要学会新东西,要不断进步,就必须放低自己的姿势"
   ];
   //当前时间段默认的名言
   hllo.innerHTML = hlloarr[parseInt(hours/2)];
   var endTime = new Date(year,month,date,23,59,59);//获取未来结束的时间
   setInterval(fun,1000);//开启定时器
   function fun() {
    var newTime = new Date();//得到最新的时间
    var ms = parseInt((endTime - newTime) / 1000); //得到毫秒,并取整
    var s = parseInt(ms % 60);//秒
    var m = parseInt((ms / 60) % 60); //分
    var h = parseInt((ms / 3600) % 24);//小时
    //var d = parseInt((ms / 3600) / 24);//天
    s<10? s="0"+s:s;
    m<10? m="0"+m:m;
    h<10? h="0"+h:h;
    //d<10? d="0"+d:d;
    time.innerHTML = h +" 时 "+m+" 分 "+s+" 秒 ";
    //每60秒切换一次名言
    if(s == 0 ){
     hllo.innerHTML = hlloarr[parseInt(m%12)];
    }
   }
  }
 </script>
</head>
<body>
 <div class="calendar">
  <p id="fulldate"></p>
  <span id="nowdate"></span>
  <strong id="hllo"></strong>
  <span>----- 今天的余额 -----</span>
  <div id="time"></div>
 </div>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • javascript定时器取消定时器及优化方法

    javascript定时器取消定时器及js定时器优化方法 通常用的方法: 启动定时器: window.setInterval(Method,Time) Method是定时调用的js方法 Time是间隔时间,单位是毫秒 取消定时器: clearInterval(Method); 那么问题来了.用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决? 优化方案如下 var timeout = false; //启动及关闭按钮 function time()

  • JavaScript定时器制作弹窗小广告

    本文实例为大家分享了js定时器制作弹窗广告的具体代码,供大家参考,具体内容如下 <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> * { padding: 0; margin: 0; } li { list-style: none; } body { background: #940032; } #count

  • js定时器实例分享

    1. 设置定时器 语法:setInterval(函数,时间) 注意: 函数书写时不能带括号 setInterval(fn,1000)//正确 setInterval(fn(),1000)//错误 时间的最小设置不小于14ms 2. 清除定时器 语法:clearInterval(所清除的定时器名称) 3. 实例探究 js部分 window.onload = function() { var timer = null; var num = 0; var i = 0; var arr=['red','

  • JavaScript-定时器0~9抽奖系统详解(代码)

    具体代码如下: <html> <head> <title>定时器0~9抽奖系统</title> <meta charset="UTF-8" /> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script t

  • js抽奖实现随机抽奖代码效果

    随机抽取,简单代码. 复制代码 代码如下: <html> <title>随机抽奖程序</title> <head><meta http-equiv=Content-Type content="text/html; charset=gb2312"> </head> <body> <script type="text/javascript"> var alldata = &q

  • js简单抽奖代码

    核心:js的Math对象和Array对象 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>random</title> <style> #awardListDom{width: 100%;} </style> </head> <body> <label

  • js实现日历与定时器

    简单的日历,会根据系统日期自动调整对应的日期,每60秒切换一次名言.只要有想法,做出来还是可以与众不同的. 效果图: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .calendar { width: 300px; height: 36

  • ASP.NET中日历控件和JS版日历控件的使用方法(第5节)

    今天小编带大家以做任务的形式了解ASP.NET中日历控件的使用方法,主要任务内容: 1.添加一个日历,设置日期以蓝色的完整名称显示,周末以黄色背景红色文字显示,而当前日期使用绿色背景显示,用户可以选择一天.一周或整个月,被选的天/周/月使用灰色背景色来显示.当选中一个日期后,把时间显示在下面的一个文本框中,效果如图所示: 2.设计一个注册页面,使用js日历控件帮助用户输入出生日期.效果如图所示: 学习项目一  Calendar日历控件 1.在站点下创建一个Calendar页面,并在页面上拖放一个

  • js原生日历的实例(推荐)

    突然发现日期对象可以进行 加减 , 利用这个特性写了一个可以说是对只要会JavaScript  的就可以写的日历:没有各种算法,只有一些逻辑相信只要懂javascript就差不多看俩眼就会的日历. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *

  • JS显示日历和天气的方法

    本文实例讲述了JS显示日历和天气的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 完整代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&qu

  • 深入浅析Node.js 事件循环、定时器和process.nextTick()

    什么是事件循环 尽管JavaScript是单线程的,但通过尽可能将操作放到系统内核执行,事件循环允许Node.js执行非阻塞I/O操作. 由于现代大多数内核都是多线程的,因此它们可以处理在后台执行的多个操作. 当其中一个操作完成时,内核会告诉Node.js,以便可以将相应的回调添加到 轮询队列 中以最终执行. 我们将在本主题后面进一步详细解释. 事件循环解释 当Node.js启动时,它初始化事件循环,处理提供的输入脚本(或放入 REPL ,本文档未涉及),这可能会进行异步API调用,调度计时器或

  • 原生js实现日历效果

    本文实例为大家分享了js实现日历效果的具体代码,供大家参考,具体内容如下 html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <met

  • js实现日历

    这周写自己的项目发现又用到日历了,加之自己毕业之后的第一个工作中遇到的任务也是需要写个日历(组员写了,我就不用写了) 今天就来好好折腾一下日历是怎么写的. 首先,我们看看 windows 的日历.发现总共有这么几个元素.先实现试试. 1.年份的选择.月份的选择 2.周一 ~ 周日(周日 ~ 周六) 3.日历格子 6*7 = 42 从数据的角度来分析日历的实现是比较简单的 1.我们需要显示一个当前时间的结构 - new Date() 2.我们需要显示当月的信息 - [星期(周一~周日),日期(1-

  • 原生Js实现日历挂件

    本文实例为大家分享了js实现日历挂件的具体代码,供大家参考,具体内容如下 Css code /************************* * 日历样式对应表 * #date 日历块 * table 表格 * th 头部 * td 身体 * a.now 本月 * a.non-arrival 其他月 * a.day 今天 * a.href 链接 * #date_diglogs 记住对话框 *************************/ #date { width: 220px; pad

  • js实现0ms延时定时器的几种方式

    目录 queueMicrotask async/await MessageChannel 最后 附录 这两天看到一篇介绍<如何实现准时的 setTimeout?>的文章,文章起源于一道面试题:有什么办法让setTimeout准时呀?具体文章内容可查看附录[1],看完之后,引起了我对setTimeout这个函数的探究兴趣,因此在MDN上重新查阅了相关文档,其中提到[最小延时 >=4ms]的一点,因此使用setTimeout不能实现0ms延时的定时器,如果要实现的话,提供了一个参考链接[2]

  • Vue.js实现日历功能

    本文实例为大家分享了Vue.js实现日历功能的具体代码,供大家参考,具体内容如下 Github 功能需求 使用 Vue.js 实现指定年月的日历表,配合后台接口数据,添加对应日期的空气质量描述等信息.后台传递当月空气质量指数的数据,前端生成日历表后将空气质量指数添加到对应日期上. 空气质量数据示例: data.json { "code": 200, "msg": "", "data": [{ "time":

随机推荐