国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php使用fullcalendar日歷插件詳解

2024-05-05 00:07:13
字體:
來源:轉載
供稿:網友

最近做課程表的項目,找了好多個插件感覺都不好用,無意間看到了fullcalendar,還挺簡單的,很方便,先貼一張項目頁面

php,fullcalendar,日歷插件

<!DOCTYPE html><html><head><meta charset='utf-8' /><!-- 日歷插件 --><link href='/public/school/table/fullcalendar.min.css' rel='stylesheet' /><link href='/public/school/table/fullcalendar.print.min.css' rel='stylesheet' media='print' /><script src='/public/school/table/moment.min.js'></script><script src='/public/school/table/jquery.min.js'></script><script src='/public/school/table/fullcalendar.min.js'></script><!-- fullcalendar語言包 --><script src='/public/school/table/locale-all.js'></script><!-- layui --><link rel="stylesheet" href="/public/school/layui/css/layui.css" rel="external nofollow" media="all"><link rel="stylesheet" href="/public/school/style/admin.css" rel="external nofollow" media="all"><script src="/public/school/layui/layui.js"></script> <!-- bootstrap --><link href='https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css' rel='stylesheet' /><script src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js'></script><script src='https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js'></script></head><script> //獲取當前日期 var myDate = new Date(); var defaultDate = myDate.getFullYear() +'-'+(myDate.getMonth()+1)+'-'+myDate.getDate() $(document).ready(function() { $('#calendar').fullCalendar({ header: { //頂部顯示信息 left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay,listMonth' }, defaultDate: defaultDate, //默認顯示日期 navLinks: true, // can click day/week names to navigate views defaultView:'agendaWeek', //初始化時的默認視圖默認顯示周 allDaySlot: false, //是否顯示all-day slotLabelFormat:'H:mm', //左側時間顯示格式 minTime : '06:00:00', //左側時間從幾點開始 maxTime : '22:00:00', //左側時間從幾點結束 locale: 'zh-cn', //顯示中文 selectable: true, //設置是否可被單擊或者拖動選擇 eventLimit: true, //如果數據過多超過日歷格子顯示的高度時,多出去的數據不會將格子擠開,而是顯示為 +...more ,點擊后才會完整顯示所有的數據 // 點擊課程信息事件,并彈窗 eventClick: function(calEvent, jsEvent, view) { console.log('cycle_id:' + calEvent.id); //點擊的課程周期id console.log('sel_type:' + calEvent.sel_type); //點擊的課程周期類型 1單次 2重復 // 彈出一個頁面 layer.open({  type: 2,  title: '課程表信息',  shadeClose: true,  shade: [0.5, '#000'],  maxmin: true, //開啟最大化最小化按鈕  area: ['900px', '650px'],  content: "/school/Course_Table/cycleInfo.html?cycle_id="+calEvent.id,  end: function () {  // 刷新父窗口  location.reload();  }  }); }, // 點擊空白區域,獲取選擇的日期時間范圍,并彈窗 select: function(startDate, endDate) {  selDate = startDate.format('YYYY-MM-DD'); //選中的開始日期  layer.open({  type: 2,  title: '周期排課',  shadeClose: true,  shade: [0.5, '#000'],  maxmin: true, //開啟最大化最小化按鈕  area: ['900px', '650px'],  content: "/school/Course_Table/addCycle2.html?selDate="+selDate,  end: function () {  // 刷新父窗口  location.reload();  }  }); },  // 日期顯示格式 views: {  month: {   titleFormat: 'YYYY年MM月' }, agenda: {  titleFormat: 'YYYY年MM月DD日' }, week: {  titleFormat: 'YYYY年MM月DD日' }, }, // 鼠標移上的提示 使用bootstorp的提示 eventRender: function(eventObj, $el) { $el.popover({  content: eventObj.description,  trigger: 'hover',  placement: 'top',  container: 'body' }); }, // 獲取要顯示的數據 返回的是json格式 events: function(start,end,timezone, callback) { $.ajax({  url: "{:url('courseTable')}",  dataType: 'json',  type:"POST",  success: function(data) {   if (data.status == 0) {  callback(data.msg);  }else{  layer.msg('網絡錯誤');  }  },  error:function () {  layer.msg('網絡錯誤');  } }); } }); });</script><style> body { /*margin: 40px 10px;*/ padding: 0; font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif; font-size: 14px; } #calendar { max-width: 1200px; margin: 0 auto; }</style></head><body><div class="layui-fluid" style="margin: 10px"> <div class="layui-card"> <div class="layui-card-body"> <div id='calendar'></div> </div> </div></div><script type="text/javascript"> //加載layui layui.use(['layer','element','form'], function(){ var layer = layui.layer ,element = layui.element ,form = layui.form; });</script></body></html>

php后臺代碼:這里我把要顯示的格式在后臺封裝好了,到前臺直接取出來拿來用就可以了。
注意:title和start即標題和開始時間是必須要有的,其他的參數可選,其中 start 格式是“日期T時間”,中間有個字母“T”,看自己情況,description 的內容是鼠標放上去要顯示的內容

public function courseTable() { if (request()->isPost()) {       //二維數組  $list = model('CourseTable')->getCourseTable($this->sid);  foreach ($list as $key => $value) {  $val['id'] = $value['id']; ///課程周期表  $val['sel_type'] = $value['sel_type']; ///課程周期類型 1單次 2重復  $val['title'] = '教師:'.$value['teacher_name']. '班級:'.$value['grade_name'];  $val['start'] = $value['date'].'T'.$value['start_time'];  $val['end'] = $value['date'].'T'.$value['end_time'];  $val['description'] = '教師:'.$value['teacher_name'].'班級:'.$value['grade_name'].'教室:'.$value['room_name'];  $val['color'] = '#009688';  $val['textColor'] = '#fff';  $newList[] = $val;  }    return return_succ($newList); } return $this->fetch(); }

php,fullcalendar,日歷插件

代碼里有注釋,有不懂的可以留言溝通。

官方網站里面有文檔,可以慢慢研究 https://fullcalendar.io/docs

以上所述是小編給大家介紹的php使用fullcalendar日歷插件的教程詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 绍兴市| 阳高县| 乌什县| 安仁县| 潍坊市| 台南市| 华宁县| 唐海县| 徐闻县| 车险| 沂南县| 都匀市| 搜索| 瓮安县| 阜南县| 开原市| 宁强县| 吉木萨尔县| 新平| 黄大仙区| 赫章县| 高唐县| 长子县| 昌邑市| 林州市| 剑河县| 甘肃省| 阿鲁科尔沁旗| 嫩江县| 德兴市| 青川县| 宣威市| 广州市| 淄博市| 淮南市| 南木林县| 泸溪县| 香港 | 长宁区| 林西县| 定南县|