Kalendae.js一句話介紹
<<Kalendae.js是一款強大的日期多控件(插件),支持日期的單選、日期的多選、日期的范圍選擇案例
Kalendae.js如何使用
下載
<link rel="stylesheet" href="./build/kalendae.css" type="text/css">
<script type='text/javascript' src='./build/kalendae.standalone.js'></script>
<!-- 這里不引入min.js是因為在后面要修改js -->
在頁面使用:新建一個demo.html
①直接使用:
<!-- 單選 -->
<div class="auto-kal"></div>
<!-- 多選 -->
<div class="auto-kal" data-kal="mode:'multiple'"></div>
完整代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="./build/kalendae.css" type="text/css">
<script type='text/javascript' src='./build/kalendae.standalone.js'></script>
<title>KalendaeDemo</title>
</head>
<body>
<p>1直接展示(單選)</p>
<div class="auto-kal"></div>
<p>1.1直接展示(多選)</p>
<div class="auto-kal" data-kal="mode:'multiple'"></div>
</body>
</html>
②輸入框使用
<!-- 單選 -->
<input type="text" class="auto-kal">
<!-- 多選 -->
<input type="text" class="auto-kal" data-kal="mode:'multiple'">
完整代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="./build/kalendae.css" type="text/css">
<script type='text/javascript' src='./build/kalendae.standalone.js'></script>
<title>KalendaeDemo</title>
</head>
<body>
<p>2輸入框使用(單選):</p>
<input type="text" class="auto-kal">
<p>2輸入框使用(多選):</p>
<input type="text" class="auto-kal" data-kal="mode:'multiple'" style="width: 100%;">
</body>
</html>
demo.html完整代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="./build/kalendae.css" type="text/css">
<script type='text/javascript' src='./build/kalendae.standalone.js'></script>
<title>KalendaeDemo</title>
</head>
<body>
<p>1直接展示(單選)</p>
<div class="auto-kal"></div>
<p>1.1直接展示(多選)</p>
<div class="auto-kal" data-kal="mode:'multiple'"></div>
<p>2輸入框使用(單選):</p>
<input type="text" class="auto-kal">
<p>2輸入框使用(多選):</p>
<input type="text" class="auto-kal" data-kal="mode:'multiple'" style="width: 100%;">
</body>
</html>
顯示效果:
Kalendae.js的個性化配置
日期中文顯示
默認顯示的樣式是英文的,用戶不友好,可以在kalendae.standalone.js里面進行編輯,設置Locale.prototype
修改月份顯示效果:
/*修改_months屬性和_monthsShort屬性*/
_months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_')
_monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_')
最終是這樣子的:
/*_months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),*/
_months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
months : function (m) {
return this._months[m.month()];
},
/*_monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),*/
_monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
monthsShort : function (m) {
return this._monthsShort[m.month()];
},
修改“星期”顯示效果:
修改_weekdays 、_weekdaysShort 和_weekdaysMin
最終代碼:
//星期顯示樣式
_weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
weekdays : function (m) {
return this._weekdays[m.day()];
},
_weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
weekdaysShort : function (m) {
return this._weekdaysShort[m.day()];
},
_weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
weekdaysMin : function (m) {
return this._weekdaysMin[m.day()];
},
修改年月顯示效果:
titleFormat:'MMMM, YYYY年',
最終效果:
指定的div使用Kalendae
前面都是通過指定class來使用kalendae,可以通過JavaScript代碼指定容器使用kalendae。
修改Kalendae.prototype的titleFormat
<div id="datepk"></div>
<script type="text/javascript">
/*使用方式:
new Kalendae(指定容器,配置);
配置屬性注解:
months屬性表示日歷顯示幾個月,值:1、2、3.....;默認值:1
mode屬性表示顯示的是單選還是多選還是范圍,值:'single'、'multiple'、'range';默認值:'single'
subscribe屬性表示綁定kalendea指定的事件,支持的事件有change、date-clicked、view-changed
*/
new Kalendae(document.getElementById("datepk"), {
months:12,
mode:'multiple',
selected: selected,
subscribe: {
'change': function(date){
str = this.getSelected();
console.log(this.getSelected());
}
}
});
</script>
完整代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="./build/kalendae.css" type="text/css">
<script type='text/javascript' src='./build/kalendae.standalone.js'></script>
<title>KalendaeDemo</title>
</head>
<body>
<p>3指定div使用(多選):</p>
<div id="datepk" style="width: 100%;"></div>
</body>
<script type="text/javascript">
new Kalendae(document.getElementById("datepk"), {
months:12,
mode:'multiple',
selected: selected,
subscribe: {
'change': function(date){
str = this.getSelected();
console.log(this.getSelected());
}
}
});
</script>
</html>
轉載 https://blog.csdn.net/qq_38245537/article/details/78247267