jQuery UI 添加法定节假日显示
有新需求了,填写日历的时候需要显示法定节假日。 在网上了解了一下,没有类似控件。尤其在涉及到农历时,没有计算方法,只能固定显示。强大的My97DatePicker也不行。
最后决定在现有基础上改一下,项目是用的jQueryUI,研究了一下代码,借鉴了一下公司官网的代码。终于实现了,以最小的改动实现的。不过法定节假日需要过段时间更新,因为是写在一个数组里面。没有固定的算法计算不出法定节假日。
大概的实现说一下。jQuery UI 版本为1.9.2。
在7271行添加如下代码:
......
// add by sw 2013-12-11
this.festival = ['2013-9-19','2013-10-1','2014-1-1','2014-1-30','2014-1-31','2014-2-14','2014-4-5','2014-5-1','2014-6-2','2014-9-8','2014-10-1'];
this.festival_name = ['-224','-256','0','-32','-64','-96','-128','-164','-196','-224','-256'];
// end
......
在8781行添加:
......
// add by sw 2013-12-11
var _tempTime = printDate.getFullYear()+"-"+(printDate.getMonth()+1)+"-"+printDate.getDate();
var _tempClass = "";
var _tempCss = "";
var _tempFlag = false;
for(var $b=0;$b<this.festival.length;$b++){
//alert(this.festival[$b]+"|||"+_tempTime);
if(this.festival[$b]==_tempTime){
_tempFlag = true;
_tempClass = "festival_input "; //color:#FFFFFF;
_tempCss = 'style="background-position:left '+this.festival_name[$b] + 'px" ';
break;
}
} ......
//end
(otherMonth && !showOtherMonths ? ' ' : // display for other months // add by shuwen 2013-12-11
(unselectable ? '<span class="ui-state-default">' + printDate.getDate() + '</span>' : '<a class="'+ (_tempFlag?_tempClass:'ui-state-default') +
(printDate.getTime() == today.getTime() ? ' ui-state-highlight' : '') +
(printDate.getTime() == currentDate.getTime() ? ' festival_default ui-state-active' : '') + // highlight selected day
(otherMonth ? ' ui-priority-secondary' : '') + // distinguish dates from other months
'" '+_tempCss+'href="#">' + printDate.getDate() + '</a>')) + '</td>'; // display selectable date
// add by sw 2013-12-11
最后引入css文件:
/* add by sw 2013-12-11 */
.festival_input{
background:url("images/un_festivals.png") no-repeat right 0;
text-indent:-999px;
float:left;
width:80%;
height:14px;
overflow:hidden;
line-height:100px;
}
.festival_input:hover{line-height:15px;}
.festival_default{
line-height:15px;
}
另外引一张图片。
就可以了。
相关显示效果:
原理:在初始化日历控件的时候,加载日期每一个td 标签。根据法定节假日数组,显示特定的CSS样式。 中文节假日名称是图片背景来的。
- 大小: 37.9 KB
分享到:
相关推荐
总之,"jQuery手机端日历插件节假日"是一个针对移动设备优化的UI解决方案,它利用jQuery的便利性,提供了高效、易用的日历功能,特别是节假日的突出显示,对于提升移动应用或网页的用户体验具有积极意义。...
节假日的处理方式有多种,例如,可以设置特定的颜色模板,将公历的法定节假日如新年、国庆节等标红,也可以根据用户的地理位置和文化习惯,自动加载当地的传统节日。此外,用户可能有自定义假期的需求,如生日、纪念...
3. **节假日处理**:维护一个节假日列表,可能是JSON格式的数据,与日期进行比对,将节假日的日期单元格样式标记为特殊,例如改变背景色或添加提示文本。 4. **用户交互**:监听用户的点击事件,当用户点击某一天时...
1. 获取节假日数据:这通常需要一个包含节假日日期的数据库或JSON文件,可能包括国家法定节假日、传统节日等。 2. 遍历日期数据:当用户在日期选择器中点击一个日期时,代码会检查该日期是否在节假日列表中。 3. ...
4. **自定义节假日**:允许用户添加个人的特殊日期,如生日、纪念日等。 5. **多语言支持**:根据不同地区或国家的节假日进行调整。 6. **日期范围限制**:设置最小和最大可选日期,防止用户选择无效日期。 在提供...
6. **节假日查询**:插件不仅显示日期,还可能包含中国法定节假日和传统节日的信息。这需要一个包含各种节假日的数据集,并在插件内部实现相应的查询逻辑。 7. **API接口**:对于开发者来说,jQuery万年历可能提供...
3. **休息时间显示**:在日历中显示休息时间意味着需要识别并标记出工作日中的非工作时间段,比如周末、法定节假日或特定的休息时段。这需要编程逻辑来处理时间计算和对比,以确保正确地高亮或排除这些时间段。 4. ...
这包括国家法定节假日、传统节日以及其他特殊日子。开发人员需要维护一个节日数据库,或者对接权威的API获取最新节日信息。节日信息应该包括日期、名称以及可能的庆祝活动。在前端展示时,可以通过改变日期背景色、...
2. **禁用日期功能**:此定制控件还允许开发者指定某些日期为不可选,比如周末、法定节假日等。这种功能在很多业务场景下都很实用,比如预定系统中避免用户在休息日下单。通过设定禁用规则,可以有效防止用户在不...
4、新加入节假日功能,现在您可以全局设定如何放假(休周末、休单周、休双周、单双轮休)以及当年法定节假日,甚至为任何一个单独用户设定个性化的休假方案了。休假期间,用户不能签到,也无法被签到记录统计程序...