收藏本站 收藏本站
積木網首頁 - 軟件測試 - 常用手冊 - 站長工具 - 技術社區
首頁 > JavaScript > JavaScript技巧 > 正文

首頁 - PHP - 數據庫 - 操作系統 - 游戲開發 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell編程 - DOS命令 - jQuery - CSS樣式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

js原生日歷的實例(推薦)

突然發現日期對象可以進行 加減 , 利用這個特性寫了一個可以說是對只要會JavaScript 的就可以寫的日歷;沒有各種算法,只有一些邏輯相信只要懂javascript就差不多看倆眼就會的日歷。

查看圖片

<!DOCTYPE html> 
<html> 
 <head> 
  <meta charset="UTF-8"> 
  <title></title> 
  <style type="text/css"> 
   *{ 
    margin: 0px; 
    padding: 0px; 
   } 
   #data{ 
    width: 280px; 
    border: 1px solid #000000; 
    margin: 20px auto; 
   } 
   #data > p{ 
    display: flex; 
   } 
   #data > h5{ 
    text-align: center; 
   } 
   #data > p > span{ 
    padding: 0 10px; 
   } 
   #prev,#next{ 
    cursor: pointer; 
   } 
   #nian{ 
    flex: 1; 
    text-align: center; 
   } 
   #title{ 
    overflow: hidden; 
    list-style: none; 
    background: #ccc; 
   } 
   #title > li{ 
    float: left; 
    width: 40px; 
    height: 26px; 
    line-height: 26px; 
    text-align: center; 
   } 
   #date{ 
    overflow: hidden; 
    list-style: none; 
   } 
   #date > li{ 
    float: left; 
    width: 34px; 
    height: 34px; 
    margin: 1px 1px; 
    border: 2px solid rgba(0,0,0,0); 
    line-height: 34px; 
    text-align: center; 
    cursor: pointer; 
   } 
   #date > .hover:hover{ 
    border: 2px solid red; 
   } 
    
   .active{ 
    color: red; 
   } 
  </style> 
 </head> 
 <body> 
   
  <div id="data"> 
   <p> 
    <span id="prev">上一月</span> 
    <span id="nian">2017</span> 
    <span id="next">下一月</span> 
   </p> 
   <h5 id="yue">一月</h5> 
   <ul id="title"> 
    <li>日</li> 
    <li>一</li> 
    <li>二</li> 
    <li>三</li> 
    <li>四</li> 
    <li>五</li> 
    <li>六</li> 
   </ul> 
   <ul id="date"> 
   </ul> 
  </div> 
   
  <script type="text/javascript"> 
   var dat = new Date(); //當前時間 
   var nianD = dat.getFullYear();//當前年份 
   var yueD = dat.getMonth(); //當前月 
   var tianD = dat.getDate(); //當前天 這保存的年月日 是為了 當到達當前日期 有對比 
    
   add(); //進入頁面第一次渲染 
    
   function add(){ 
    document.getElementById('date').innerHTML = ""; 
     
    var nian = dat.getFullYear();//當前年份 
    var yue = dat.getMonth(); //當前月 
    var tian = dat.getDate(); //當前天 
    var arr=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]; 
    document.getElementById('nian').innerText = nian; 
    document.getElementById('yue').innerText = arr[yue]; 
     
    var setDat = new Date(nian,yue + 1,1 - 1); //把時間設為下個月的1號 然后天數減去1 就可以得到 當前月的最后一天; 
    var setTian = setDat.getDate(); //獲取 當前月最后一天 
    var setZhou = new Date(nian,yue,1).getDay(); //獲取當前月第一天 是 周幾 
     
    for(var i=0;i<setZhou ;i++){//渲染空白 與 星期 對應上 
     var li=document.createElement('li'); 
     document.getElementById('date').appendChild(li); 
    } 
     
    for(var i=1;i<=setTian;i++){//利用獲取到的當月最后一天 把 前邊的 天數 都循環 出來 
     var li=document.createElement('li'); 
     li.innerText = i; 
     if(nian == nianD && yue == yueD && i == tianD){ 
      li.className = "active"; 
     }else{ 
      li.className = "hover"; 
     } 
      
     document.getElementById('date').appendChild(li); 
    } 
     
   } 
    
   document.getElementById("next").onclick = function(){ 
    dat.setMonth(dat.getMonth() + 1); //當點擊下一個月時 對當前月進行加1; 
    add(); //重新執行渲染 獲取去 改變后的 年月日 進行渲染; 
   }; 
   document.getElementById("prev").onclick = function(){ 
    dat.setMonth(dat.getMonth() - 1); //與下一月 同理 
    add(); 
   }; 
  </script> 
 </body> 
</html>

以上這篇js原生日歷的實例(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持積木網。

ES6解構賦值的功能與用途實例分析
本文實例講述了ES6解構賦值的功能與用途。分享給大家供大家參考,具體如下:(1)交換變量的值[x,y]=[y,x];上面代碼交換變量x和y的值,這樣的寫法不

ES6使用Set數據結構實現數組的交集、并集、差集功能示例
本文實例講述了ES6使用Set數據結構實現數組的交集、并集、差集功能。分享給大家供大家參考,具體如下:Set數據結構是es6中新增的,它類似于數組,

原生js實現仿window10系統日歷效果的實例
舞動的靈魂版js日歷,完全采用js實現,故而實現了與語言無關,jsp、asp.netphpasp均可使用.無論你是開發軟件,還是網站,均是不可或缺的實用代碼。該

本周排行

更新排行

強悍的草根IT技術社區,這里應該有您想要的! 友情鏈接:b2b電子商務
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP備05050695號
36选7走势图大全 助赢时时彩软件安卓 股票涨跌颜色 正规配资网上上盈怎么样 理财规划师 上海十一选五任一遗漏 齐发国际手机登录 贵州11选五5下载 广西11选5中奖表 金股在线股票配资 广西快乐十分开奖结 上海时时乐开奖彩控 天津11选5号码定位走 贵州快3和值跨度走势图表 排列五走势图带连线图 河南体彩11选五遗漏 广西快3开奖公告