最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript實現(xiàn)考勤日歷功能

 更新時間:2018年11月29日 11:44:26   作者:深藍淺藍的天  
這篇文章主要為大家詳細介紹了javascript實現(xiàn)考勤日歷功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

簡介

用過一些開源的日歷,但對于自定義去綁定數(shù)據(jù)在日歷元素中卻不是很方便,由于工作需要用到考勤日歷,考慮到日歷的實現(xiàn)也不是特別麻煩,于是自己弄了一個,樣式比較簡單,需要的可以自己去擴展。使用的時候綁定獲取數(shù)據(jù)的方法即可,在這個日歷中我沒有直接添加選擇月份。各位有興趣可以自己擴展,已預留設(shè)置日期的方法。自定義去擴展的時候注意保證原有的代碼結(jié)構(gòu)不變,增加一些方法即可,下面直接上源碼了,就三個文件。

attendanceCalendar.js

代碼已更新多次,請直接上github下載,鏈接

修復 第一行日期數(shù)量計算 bug,修改了以下的方法

 function initCalendarBody() {
  $content = document.createElement("div");
  addClass($content, "div_calendar_body");
  $elem.appendChild($content);
  addCalendarHead();

  //日期計算bug,例:2017-01
  var num = 0;
  do {
   var length = 0;
   if (num == 0) {
    //出星期天外,星期數(shù)(1~6)和第一行顯示的日期數(shù)(7~2),相加的結(jié)果都為8
    length = firstWeekDay == 0 ? 1 : 8 - firstWeekDay;
    num = length;
    createLine(length - 1, 1);
   }
   else {
    var length = mds - num > 6 ? 7 : mds - num;
    num = num + length;
    createLine(length - 1);
   }
  }
  while (num < mds)
  showCurrentDate();
 }

 function createLine(num, type) {
  var newDiv = document.createElement("div");
  for (var i = 0; i <= num; i++, index++) {
   var span = document.createElement("span");
   var span_text = document.createTextNode(index + 1);
   //單個日期元素的操作
   if (attendances && attendances.length > 0) {
    bindAttendance(span, attendances[index]);
   }
   span.appendChild(span_text);
   newDiv.appendChild(span);
  }
  if (type == 1) {
   addClass(newDiv, "first_div")
  }
  else {
   addClass(newDiv, "last_div")
  }
  $content.appendChild(newDiv);
 }

css部分,日期元素主要用了三種顏色表示

.div_calendar {
 width: 450px;
 margin: 0 auto;
 text-align: center;
 display: -webkit-box;
}

/** 日歷標題 */
.div_calendar_title {
 width: 450px;
 margin: 0 auto;
 text-align: center;
}

/** 日歷主體 */
.div_calendar_body {
 width: 350px;
 text-align: center;
}

/** 日元素 */
.div_calendar span {
 width: 50px;
 display: inline-block;
 text-align: center;
 line-height: 50px;
}

/** 正常 */
.div_calendar span.normal {
 color: blue;
}

/** 遲到 */
.div_calendar span.late {
 color: red;
}

/** 缺勤 */
.div_calendar span.absense {
 color: #666;
}

/** 缺勤 */
.div_calendar span.today {
 border-radius: 50%;
 background: cornflowerblue;
}

/** 日歷第一行日期 */
.div_calendar .first_div {
 text-align: right;
}

/** 日歷末行日期 */
.div_calendar .last_div {
 text-align: left;
}

/** 日期顯示div */
.div_calendar .div_currentDate {
 text-align: right;
}

.div_calendar .changeDate {
 cursor: pointer;
}

.div_calendar .div_currentDate span {
 width: inherit;
}

.div_calendar .div_currentDate span em {
 margin: 5px;
}

calendar.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="div_calendar_title"><h1>自定義日歷</h1></div>
<div id="calendar_div" class="div_calendar">
</div>
<script src="script/attendanceCalendar.js"></script>
</body>
</html>

示例演示:

代碼已更新多次,請直接上github下載,鏈接

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 生成二維碼方法匯總

    生成二維碼方法匯總

    這篇文章主要匯總介紹了生成二維碼方法的相關(guān)資料,需要的朋友可以參考下
    2014-12-12
  • JS 根據(jù)子網(wǎng)掩碼,網(wǎng)關(guān)計算出所有IP地址范圍示例

    JS 根據(jù)子網(wǎng)掩碼,網(wǎng)關(guān)計算出所有IP地址范圍示例

    這篇文章主要介紹了JS 根據(jù)子網(wǎng)掩碼,網(wǎng)關(guān)計算出所有IP地址范圍,涉及IP地址、子網(wǎng)的正則驗證,子網(wǎng)掩碼計算等相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09
  • ES6新特性三: Generator(生成器)函數(shù)詳解

    ES6新特性三: Generator(生成器)函數(shù)詳解

    這篇文章主要介紹了ES6新特性之Generator(生成器)函數(shù),簡單分析了Generator(生成器)函數(shù)的功能、定義、調(diào)用方法并結(jié)合實例形式給出了相關(guān)使用技巧,需要的朋友可以參考下
    2017-04-04
  • 編輯浪子版表單驗證類

    編輯浪子版表單驗證類

    編輯浪子版表單驗證類...
    2007-05-05
  • JavaScript使用addEventListener添加事件監(jiān)聽用法實例

    JavaScript使用addEventListener添加事件監(jiān)聽用法實例

    這篇文章主要介紹了JavaScript使用addEventListener添加事件監(jiān)聽的方法,實例分析了addEventListener方法的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • 前端監(jiān)控頁面異常的常用方法

    前端監(jiān)控頁面異常的常用方法

    前端開發(fā)常見問題之一: 資源異常、js異常,頁面出了問題常見的想法是:如何看到錯誤信息,資源腳本是否正常,像js、css、圖片這些資源文件經(jīng)常受網(wǎng)絡(luò)等原因,導致資源加載異常,這些會直接影響我們的頁面,本文給大家介紹前端監(jiān)控頁面異常的常用方法,需要的朋友可以參考下
    2025-04-04
  • jQuery實現(xiàn)仿百度首頁滑動伸縮展開的添加服務(wù)效果代碼

    jQuery實現(xiàn)仿百度首頁滑動伸縮展開的添加服務(wù)效果代碼

    這篇文章主要介紹了jQuery實現(xiàn)仿百度首頁滑動伸縮展開的添加服務(wù)效果代碼,通過jQuery相應(yīng)鼠標事件控制頁面元素的動態(tài)變換功能,非常具有實用價值,需要的朋友可以參考下
    2015-09-09
  • javascript算法學習(直接插入排序)

    javascript算法學習(直接插入排序)

    假設(shè)待排序的記錄存放在數(shù)組R[1..n]中。初始時,R[1]自成1個有序區(qū),無序區(qū)為R[2..n]。從i=2起直至i=n為止,依次將R[i]插入當前的有序區(qū)R[1..i-1]中,生成含n個記錄的有序區(qū)。
    2011-04-04
  • JS彈出可拖拽可關(guān)閉的div層完整實例

    JS彈出可拖拽可關(guān)閉的div層完整實例

    這篇文章主要介紹了JS彈出可拖拽可關(guān)閉的div層完整實現(xiàn)方法,包括對div彈出層的樣式及功能的實現(xiàn)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • JS仿京東移動端手指撥動切換輪播圖效果

    JS仿京東移動端手指撥動切換輪播圖效果

    這篇文章主要為大家詳細介紹了JS仿京東移動端手指撥動切換輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論

海城市| 无锡市| 涟源市| 荣成市| 兴和县| 台南县| 元谋县| 文山县| 周宁县| 班玛县| 肇源县| 若羌县| 泰顺县| 泰兴市| 蕲春县| 丹巴县| 西宁市| 夏津县| 凭祥市| 广德县| 永和县| 方山县| 吐鲁番市| 辽宁省| 厦门市| 延庆县| 达日县| 黑水县| 拜泉县| 赤峰市| 西乡县| 宜宾县| 朔州市| 河池市| 乐亭县| 平安县| 清徐县| 革吉县| 诸暨市| 台东市| 藁城市|