年表示でフルカレンダーのツールチップを追加したいと思います。以下のものを試しましたが、月ビューにツールチップが追加されました。私はグーグルで試しましたが、これに関連するものは何も見つかりませんでした。年表示でツールチップを追加する他の方法はありますか?
eventMouseover: function(calEvent,jsEvent) {
xOffset = 10;
yOffset = 30;
$("body").append(calEvent.tooltip);
$("#tooltip")
.css("top",(jsEvent.clientY - xOffset) + "px")
.css("left",(jsEvent.clientX + yOffset) + "px")
.fadeIn("fast");
},
eventMouseout: function(calEvent,jsEvent) {
$("#tooltip").remove();
}
eventMouseover: function(calEvent, jsEvent) {
var tooltip = '<div class="tooltipevent" style="width:100px;height:100px;background:#ccc;position:absolute;z-index:10001;">' + calEvent.title + '</div>';
var $tooltip = $(tooltip).appendTo('body');
$(this).mouseover(function(e) {
$(this).css('z-index', 10000);
$tooltip.fadeIn('500');
$tooltip.fadeTo('10', 1.9);
}).mousemove(function(e) {
$tooltip.css('top', e.pageY + 10);
$tooltip.css('left', e.pageX + 20);
});
},
eventMouseout: function(calEvent, jsEvent) {
$(this).css('z-index', 8);
$('.tooltipevent').remove();
},
ツールチップlibなしでhtmlのtitle属性を使用できます。
$('#calendar').fullCalendar({
events: [
{
title: 'My Event',
start: '2014-01-01',
tooltip: 'This is a cool event'
}
// more events here
],
eventRender: function(event, element) {
element.attr('title', event.tooltip);
}
});
1.5バージョン以降、qtip(私はtipyも使用しますが、tooltipで動作するはずです)を使用して、イベントのヒントを表示できます。
$('#calendar').fullCalendar({
events: [
{
title: 'My Event',
start: '2010-01-01',
description: 'This is a cool event'
}
// more events here
],
eventRender: function(event, element) {
element.qtip({
content: event.description
});
}
});
ドキュメントソース: http://arshaw.com/fullcalendar/docs/event_rendering/eventRender/
お役に立てれば
Fullcalendarが最新バージョンのイベントを ドキュメント に従って変更しているため、 jincheng's answer を変更しています
ポップアップは次のようになります
jsまたはcssプラグインは必要ありません
あなたはツールチップのもののためにもう一つのオブジェクトでイベントデータまたはペイロードを変更し、あなたのjsのようにそれを使うことができます
events: [
{
title: 'My Event',
start: '2019-01-01',
popup: {
title: 'This is the title',
descri: 'This is the description',
}
}
// more events here
],
eventMouseEnter: function(info) {
var tis=info.el;
var popup=info.event.extendedProps.popup;
var tooltip = '<div class="tooltipevent" style="top:'+($(tis).offset().top-5)+'px;left:'+($(tis).offset().left+($(tis).width())/2)+'px"><div>' + popup.title + '</div><div>' + popup.descri + '</div></div>';
var $tooltip = $(tooltip).appendTo('body');
// If you want to move the tooltip on mouse movement then you can uncomment it
// $(tis).mouseover(function(e) {
// $(tis).css('z-index', 10000);
// $tooltip.fadeIn('500');
// $tooltip.fadeTo('10', 1.9);
// }).mousemove(function(e) {
// $tooltip.css('top', e.pageY + 10);
// $tooltip.css('left', e.pageX + 20);
// });
},
eventMouseLeave: function(info) {
console.log('eventMouseLeave');
$(info.el).css('z-index', 8);
$('.tooltipevent').remove();
},
上記のスクリーンショットのように見えるツールチップのCSS
.tooltipevent{
width:200px;/*
height:100px;*/
background:#ccc;
position:absolute;
z-index:10001;
transform:translate3d(-50%,-100%,0);
font-size: 0.8rem;
box-shadow: 1px 1px 3px 0px #888888;
line-height: 1rem;
}
.tooltipevent div{
padding:10px;
}
.tooltipevent div:first-child{
font-weight:bold;
color:White;
background-color:#888888;
border:solid 1px black;
}
.tooltipevent div:last-child{
background-color:whitesmoke;
position:relative;
}
.tooltipevent div:last-child::after, .tooltipevent div:last-child::before{
width:0;
height:0;
border:solid 5px transparent;/*
box-shadow: 1px 1px 2px 0px #888888;*/
border-bottom:0;
border-top-color:whitesmoke;
position: absolute;
display: block;
content: "";
bottom:-4px;
left:50%;
transform:translateX(-50%);
}
.tooltipevent div:last-child::before{
border-top-color:#888888;
bottom:-5px;
}
ここで別の実装
eventMouseover: function(calEvent, jsEvent) { var tooltip = '<div class="tooltipevent" style="width:130px;height:100px;background:#aed0ea;position:absolute;z-index:10001;"> Title: ' + calEvent.title + '</div>'; var $tool = $(tooltip).appendTo('body');
$(this).mouseover(function(e) {
$(this).css('z-index', 10000);
$tool.fadeIn('500');
$tool.fadeTo('10', 1.9);
}).mousemove(function(e) {
$tool.css('top', e.pageY + 10);
$tool.css('left', e.pageX + 20);
});
},
eventMouseout: function(calEvent, jsEvent) {
$(this).css('z-index', 8);
$('.tooltipevent').remove();
},