亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jquery日歷插件e-calendar升級版

2019-11-19 18:59:18
字體:
來源:轉載
供稿:網友

jQuery事件日歷插件e-calendar,支持針對指定日期自定義日程安排(無條數限制),設置過日程的日期會高亮顯示,兼容IE7+主流瀏覽器。

原版使用方法及演示地址:e-calendar原版 (鼠標移動到天顯示當天的日程安排)

升級版介紹:

1.同一天可存在多個事件交集
2.點擊天在日歷下方出現日程列表
3.點擊日程列表可添加其事件 。
4.添加item-grid的顯示和隱藏
5.Events中數組集合可添加id,type等元素(區分日程類型:任務類型或日程類型)

6.增加年份選擇,月份選擇
7.樣式調整
8.將ajax加載事件,item點擊事件等寫在calendar配置中

運行效果圖:

 主要代碼:

index.html

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="css/jquery.e-calendar.css" /> <script src="js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="js/jquery.e-calendar.js"></script> <script type="text/javascript"> $(document).ready(function () { $('#calendar').eCalendar({ yearRange:['2015','2016','2017','2018','2019','2020','2021'], //年的下拉框 weekDays: ['日', '一', '二', '三', '四', '五', '六'], months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],//月的下拉框 // textArrows: { previous: '<', next: '>' }, //改為圖片< > eventTitle: '日程列表', initData: function (settings, month) {  //日歷加載的數據格式要求:  // settings.events = [  // { id: "a1", type: "calendar", title: '222', description: '日程', datetime: new Date(2016, new Date().getMonth(), 15, 17) }  // ];  settings.events = [];  if (month) {  var sourse = [];  $.ajax({  type: "POST",  data: { month: month },  async: false,  url: "/Calendar/GetHomeCalendar?t=" + new Date().getMilliseconds(),  success: function (data) {  var result = JSON.parse(data);  for (var i = 0; i < result.length; i++) {   var item = {   id: result[i].Id,   type: result[i].Type,   title: result[i].Title,   description: result[i].Description,   datetime: new Date(result[i].Datetime)   }   sourse.push(item);  }  settings.events = sourse;  },  error: function () {}  });  } }, //下面詳情Item的點擊事件 clickItem: function () {  var id = $(this).attr("cid");  var type = $(this).attr("ctype");  alert("點擊id:" + id + "/r/n 類型:" + type); } }); }); </script></head><body> <h1 style="text-align:center;">e-calendar</h1> <div id="calendar"></div></body></html>

通過$('#calendar').eCalendar()來配置日歷加載

參數

    yearRange:年下拉框范圍

    months:月下拉框

    initData:數據初始化調用的函數

    clickItem:日歷列表點擊事件 

jquery.e-calendar.js

/** * @license e-Calendar v2.0.0 * (c) 2016- 11 * License: CHN */(function ($) { var dMonth = new Date().getMonth(); var dYear = new Date().getFullYear(); var eCalendar = function (options, object) { // Initializing global variables var adDay = new Date().getDate(); var adMonth = new Date().getMonth(); var adYear = new Date().getFullYear(); var dDay = adDay; //var dMonth = adMonth; //var dYear = adYear; var instance = object; var settings = $.extend({}, $.fn.eCalendar.defaults, options); function lpad(value, length, pad) { if (typeof pad == 'undefined') { pad = '0'; } var p; for (var i = 0; i < length; i++) { p += pad; } return (p + value).slice(-length); } var mouseOver = function () { $(this).addClass('c-nav-btn-over'); }; var mouseLeave = function () { $(this).removeClass('c-nav-btn-over'); }; var testFunction=function(){ alert('function active'); } var onItemGridClose = function () { $(".c-event-grid").css("display", "none"); }; //日歷天事件 var mouseOverEvent = function () { $(this).addClass('c-event-over'); var d = $(this).attr('data-event-day'); $('div.c-event-item[data-event-day="' + d + '"]').addClass('c-event-over'); }; var mouseClickEvent = function () { $(".c-event-grid").css("display", ""); $('div.c-day').removeClass('c-event-over') $('div.c-event-item').removeClass('c-event-over'); $(this).addClass('c-event-over'); var d = $(this).attr('data-event-day'); $('div.c-event-item[data-event-day="' + d + '"]').addClass('c-event-over'); }; var mouseLeaveEvent = function () { }; var mouseClickItem = settings.clickItem; var mouseOverItem = function () { $(this).addClass('c-event-over-item'); }; var mouseLeaveItem = function () { $(this).removeClass('c-event-over-item') }; var nextMonth = function () { if (dMonth < 11) { dMonth++; } else { dMonth = 0; dYear++; } init_eCalendar(); var ajaxMonth = dYear + "-" + (dMonth - (-1)); loadeCalendarByAjax(settings, ajaxMonth); }; var previousMonth = function () { if (dMonth > 0) { dMonth--; } else { dMonth = 11; dYear--; } init_eCalendar(); var ajaxMonth = dYear + "-" + (dMonth - (-1)); loadeCalendarByAjax(settings, ajaxMonth); }; var selectYear=function(){ dYear=$("#selYears").val(); init_eCalendar(); var ajaxMonth = dYear + "-" + (dMonth - (-1)); loadeCalendarByAjax(settings, ajaxMonth); } var selectMonth=function(){ dMonth=$("#selMonths").val(); init_eCalendar(); var ajaxMonth = dYear + "-" + (dMonth - (-1)); loadeCalendarByAjax(settings, ajaxMonth); } function loadEvents() { if (typeof settings.initData != 'undefined' && settings.initData) { var ajaxMonth = dYear + "-" + (dMonth - (-1)); loadeCalendarByAjax(settings, ajaxMonth);//調前臺的方法請求 } } //初始化加載事件 function loadeCalendarByAjax(settings, ajaxMonth) { if (typeof settings.initData != 'undefined') { settings.initData(settings, ajaxMonth); } } function init_eCalendar() { loadEvents(); var dWeekDayOfMonthStart = new Date(dYear, dMonth, 1).getDay(); var dLastDayOfMonth = new Date(dYear, dMonth + 1, 0).getDate(); var dLastDayOfPreviousMonth = new Date(dYear, dMonth + 1, 0).getDate() - dWeekDayOfMonthStart + 1; var cBody = $('<div/>').addClass('c-grid'); var cEvents = $('<div/>').addClass('c-event-grid'); cEvents.css("display", "none"); //默認隱藏 var cEventsBody = $('<div/>').addClass('c-event-body'); cEvents.append($('<div/>').addClass('c_title_sj').html(settings.eventTitle)); //標題 //關閉按鈕 var itemClose = $('<div/>').on('click', onItemGridClose).attr("href", "javascipt:void(0)"); var itemClose_a = $('<a/>').on('click', onItemGridClose).attr("href", "javascipt:void(0)")  .html('<img src="img/calendar_delete_icon.png">'); itemClose.addClass('c-close-top').html(itemClose_a); //itemClose.attr('onclick', "onItemGridClose()"); cEvents.append(itemClose); cEvents.append(cEventsBody); //主體 var cTitle = $('<div/>').addClass('top_calendar_div'); var cYear=$('<div/>').addClass('c_years'); var cMonth = $('<div/>').addClass('c_months'); var cPage= $('<div/>').addClass('c_pages'); //年份選擇事件,初始化 var year_sel=document.createElement("select");  year_sel.setAttribute("id","selYears"); //year_sel.options.add(new Option("2016","2016")); var yearRanges=settings.yearRange||new Array().push(dYear); //年份的區間,無值時默認當前年份 for(var i=0;i<yearRanges.length;i++){ year_sel.options.add(new Option(yearRanges[i],yearRanges[i])); }  year_sel.onchange=function(){ selectYear(); } for(var i=0; i<year_sel.options.length; i++){  if(year_sel.options[i].innerHTML == dYear){   year_sel.options[i].selected = true;   break;  }  }  //end //月份選擇事件,初始化 var month_sel=document.createElement("select");  month_sel.setAttribute("id","selMonths"); var monthRanges=settings.months||[]; //月份 for(var i=0;i<monthRanges.length;i++){ month_sel.options.add(new Option(monthRanges[i],i)); } month_sel.onchange=function(){ selectMonth(); } for(var i=0; i<month_sel.options.length; i++){  if(month_sel.options[i].innerHTML ==monthRanges[dMonth]){   month_sel.options[i].selected = true;   break;  }  }  //end var cPrevious=$('<a/>').on('click', previousMonth).attr("href","javascipt:void(0)")  .html('<img src="img/page_left.png">'); var cNext=$('<a/>').on('click', nextMonth).attr("href","javascipt:void(0)")  .html('<img src="img/page_right.png">');  //cMonth.html(settings.months[dMonth] + ' ' + dYear); cYear.html(year_sel); cMonth.html(month_sel); cPage.append(cPrevious); cPage.append(cNext); cTitle.append(cYear); cTitle.append(cMonth); cTitle.append(cPage); cBody.append(cTitle);  for (var i = 0; i < settings.weekDays.length; i++) { var cWeekDay = $('<div/>').addClass('c-week-day c-pad-top'); cWeekDay.html(settings.weekDays[i]); cBody.append(cWeekDay); } var day = 1; var dayOfNextMonth = 1; for (var i = 0; i < 42; i++) { var cDay = $('<div/>'); if (i < dWeekDayOfMonthStart) {  cDay.addClass('c-day-previous-month c-pad-top');  cDay.html(dLastDayOfPreviousMonth++); } else if (day <= dLastDayOfMonth) {  cDay.addClass('c-day c-pad-top');  if (day == dDay && adMonth == dMonth && adYear == dYear) {  cDay.addClass('c-today');  }  for (var j = 0; j < settings.events.length; j++) {  var d = settings.events[j].datetime;  if (d.getDate() == day && d.getMonth() == dMonth && d.getFullYear() == dYear) {  cDay.addClass('c-event').attr('data-event-day', d.getDate());  cDay.on('click', mouseClickEvent).on('mouseleave', mouseLeaveEvent);  }  }  cDay.html(day++); } else {  cDay.addClass('c-day-next-month c-pad-top');  cDay.html(dayOfNextMonth++); } cBody.append(cDay); } var eventList = $('<div/>').addClass('c-event-list'); for (var i = 0; i < settings.events.length; i++) { var d = settings.events[i].datetime; if (d.getMonth() == dMonth && d.getFullYear() == dYear) {  var date = lpad(d.getDate(), 2) + '/' + lpad(d.getMonth() + 1, 2) + ' ' + lpad(d.getHours(), 2) + ':' + lpad(d.getMinutes(), 2);  //cid賦給div,查看日程是傳遞;ctype:任務或日程  var item = $('<div/>').addClass('c-event-item').attr("cid", settings.events[i].id).attr("ctype", settings.events[i].type);  item.attr("title", settings.events[i].description); //鼠標移動顯示提示文字  //var title = $('<div/>').addClass('title').html(date + ' ' + settings.events[i].title + '<br/>');  var title = $('<div/>').addClass('title').html(settings.events[i].title + '<br/>');  var description = $('<div/>').addClass('description').html(settings.events[i].description + '<br/>');  item.attr('data-event-day', d.getDate());  item.on('mouseover', mouseOverItem).on('mouseleave', mouseLeaveItem);  item.append(title).append(description);  //c-event-item的點擊事件  item.on('click', mouseClickItem);  eventList.append(item); } } $(instance).addClass('calendar'); cEventsBody.append(eventList); $(instance).html(cBody).append(cEvents); } return init_eCalendar(); } $.fn.eCalendar = function (oInit) { return this.each(function () { return eCalendar(oInit, $(this)); }); }; // plugin defaults $.fn.eCalendar.defaults = { weekDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'], months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'], textArrows: { previous: '<', next: '>' }, eventTitle: 'Eventos', url: '', events: [ ] };}(jQuery));

下載地址:e-calendar-v2

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91干在线观看| 美女撒尿一区二区三区| 国产精品久久久久久久久粉嫩av| 久久久久久久999| 一区二区欧美激情| 91精品综合久久久久久五月天| 丝袜一区二区三区| 国产日韩欧美视频在线| 性欧美在线看片a免费观看| 欧美亚洲另类制服自拍| 欧美电影在线观看完整版| 国产一区二区三区在线观看视频| 亚洲美女av网站| 色av中文字幕一区| 亚洲电影免费观看高清完整版在线观看| 国产精品嫩草视频| 国产激情视频一区| 丝袜亚洲另类欧美重口| 日韩三级影视基地| 亚洲国产精品久久久久| 国产精品偷伦免费视频观看的| 欧美日韩国产丝袜另类| 日韩欧美亚洲成人| 亚洲一区二区三区乱码aⅴ| 日韩欧美在线播放| 亚洲男人天堂古典| 欧美精品999| 色偷偷88888欧美精品久久久| 欧美区在线播放| 亚洲国产精品va在线观看黑人| 久久久亚洲欧洲日产国码aⅴ| 午夜精品久久久久久99热软件| 欧美日韩999| 久久精品国产69国产精品亚洲| 亚洲最大中文字幕| 国产成人精品综合| 欧美片一区二区三区| 亚洲性猛交xxxxwww| 亚洲美女激情视频| 国产午夜精品视频免费不卡69堂| 国产精品永久免费观看| 欧美日本中文字幕| 久久久久久久久久久国产| 欧美日韩在线观看视频| 国产成人精品免高潮费视频| 久久精品99久久久香蕉| 亚洲色图av在线| 日韩美女福利视频| 日本一区二区三区在线播放| 欧美精品亚州精品| 午夜免费在线观看精品视频| 亚洲偷熟乱区亚洲香蕉av| 欧美激情视频网址| 岛国av一区二区在线在线观看| 国产成人91久久精品| 欧美一区二三区| 国产极品精品在线观看| 亚洲美女中文字幕| 狠狠爱在线视频一区| 亚洲午夜久久久影院| 欧美福利视频网站| 日韩最新中文字幕电影免费看| 欧美一级在线亚洲天堂| 亚洲欧美另类中文字幕| 综合久久五月天| 国产精品自拍小视频| 国产成+人+综合+亚洲欧洲| 久久精品国产精品亚洲| 日韩美女免费观看| 久久亚洲精品一区二区| 亚洲美女激情视频| 午夜精品久久久久久99热软件| 日本欧美在线视频| 国产精品久在线观看| 亚洲欧美综合精品久久成人| 一区二区三区www| 性欧美办公室18xxxxhd| 欧洲午夜精品久久久| 性色av一区二区咪爱| 不用播放器成人网| 中文字幕最新精品| 81精品国产乱码久久久久久| 91精品视频网站| 亚洲女人天堂视频| 91成人精品网站| 91精品国产综合久久香蕉| 欧美午夜宅男影院在线观看| 久久天天躁狠狠躁老女人| 亚洲欧美在线x视频| 成人国内精品久久久久一区| 成人黄色av免费在线观看| 国产精品伦子伦免费视频| 色综合91久久精品中文字幕| 欧美日韩亚洲一区二区三区| 欧美精品18videos性欧| 精品呦交小u女在线| 欧美野外猛男的大粗鳮| 精品福利免费观看| 久久久综合免费视频| 国产视频精品一区二区三区| 亚洲视频一区二区三区| 91色在线视频| 国模私拍视频一区| 国产精品一区二区三区久久久| 97国产真实伦对白精彩视频8| 国产精品一区久久| 国产性猛交xxxx免费看久久| 久久免费视频网站| 国产不卡精品视男人的天堂| 九九热精品视频| 日本三级久久久| 久久综合国产精品台湾中文娱乐网| 久久久久99精品久久久久| 欧美性猛交xxxx偷拍洗澡| 久久视频中文字幕| 91午夜在线播放| 国产精品国产亚洲伊人久久| 成人激情在线观看| 国产精品视频在线播放| 国产主播喷水一区二区| 欧美日韩免费区域视频在线观看| 国产精品草莓在线免费观看| 国产视频精品免费播放| 欧美激情国内偷拍| 国产精品91在线观看| 亚洲自拍偷拍色图| 亚洲欧美另类在线观看| 亚洲国产成人精品一区二区| 国产精品稀缺呦系列在线| 成人妇女淫片aaaa视频| 日韩中文字幕av| 精品香蕉在线观看视频一| 亚洲三级 欧美三级| 日韩久久免费视频| 欧美午夜片在线免费观看| 欧美另类69精品久久久久9999| 欧美激情xxxxx| 日韩av电影国产| 国产精品久久精品| 韩日欧美一区二区| 国产精品一香蕉国产线看观看| 欧美激情国产高清| 欧美午夜电影在线| 久色乳综合思思在线视频| 国产亚洲人成网站在线观看| 国产精品白嫩初高中害羞小美女| 欧美亚洲第一页| 91久久在线观看| 久久久99久久精品女同性| 亚洲福利视频免费观看| 精品亚洲va在线va天堂资源站| 日韩欧美在线视频免费观看| 日韩亚洲欧美中文在线| 色与欲影视天天看综合网| 亚洲理论电影网| 2023亚洲男人天堂| 亚洲精品久久7777777| 亚洲精品国产拍免费91在线| 国产亚洲人成网站在线观看| 欧美电影免费观看高清完整| 丝袜美腿精品国产二区| 色噜噜狠狠色综合网图区| www.日韩系列| 国色天香2019中文字幕在线观看|