选择 ui datepicker 作为日历,并使用 cluetip 来显示活动。脚本工作直到我更改月份(按钮< - 或 - >)
主要的想法是设置标题为持有日期的元素和悬停显示&使用cluetip将文本拆分为行。
编辑:这是example - 希望它有助于理解我的问题。
以下是javascript代码:
$(document).ready(function() {
var dates =[ // adding events
[new Date(2010,8,01),new Date(2010,8,03),"Event1 | text | next line"]
];
$('#calendar').datepicker({
beforeShowDay: highlightEvents,
});
function highlightEvents(date) {
for (var i = 0; i < dates.length; i++) {
if (dates[i][0] <= date && dates[i][2] >= date) {
return [true, 'odd', dates[i][2]]; } // odd == style
}
$('td.odd').cluetip({ // cluetip main function
splitTitle: '|',
cluetipClass: 'jtip',
arrows: true,
dropShadow: true,
});
});
Html代码:
<div id="calendar"></div>
提前致谢!
答案 0 :(得分:1)
感谢UberNeet帖子: jQuery UI Datepicker with jQuery tipsy
找到答案。
// Because the the event `onChangeMonthYear` get's called before updating
// the items, we'll add our code after the elements get rebuilt. We will hook
// to the `_updateDatepicker` method in the `Datepicker`.
// Saves the original function.
var _updateDatepicker_o = $.datepicker._updateDatepicker;
// Replaces the function.
$.datepicker._updateDatepicker = function(inst){
// First we call the original function from the appropiate context.
_updateDatepicker_o.apply(this, [inst]);
// No we can update the Tipsys.
addTipsys(inst.drawYear, inst.drawMonth+1, inst.id);
};
希望这会对某人有所帮助。