fullcalendarを使用して Google カレンダーのようなツールチップ/ポップアップを表示したいと考えています。
ユーザーが日付セルをクリックするたびに、カスタム HTML/PHP コードを表示する画面がポップアップ表示されます。ユーザーが値を入力したら、PHP を使用してデータベースに保存します。
fullcalendarを使用して Google カレンダーのようなツールチップ/ポップアップを表示したいと考えています。
ユーザーが日付セルをクリックするたびに、カスタム HTML/PHP コードを表示する画面がポップアップ表示されます。ユーザーが値を入力したら、PHP を使用してデータベースに保存します。
eventRender
これにはコールバックの方が適していると思います。
このフィドルを確認してください: http://jsfiddle.net/100thGear/h9cC6/
いくつかの異なるライブラリを使用できます(たとえば、http://www.jquerypopup.com/)。
次に、次のようなものを使用します。
$(document).ready(function() {
//Change these values to style your modal popup
var align = 'center'; //Valid values; left, right, center
var top = 100; //Use an integer (in pixels)
var padding = 10; //Use an integer (in pixels)
var backgroundColor = '#FFFFFF'; //Use any hex code
var borderColor = '#000000'; //Use any hex code
var borderWeight = 4; //Use an integer (in pixels)
var borderRadius = 5; //Use an integer (in pixels)
var fadeOutTime = 300; //Use any integer, 0 = no fade
var disableColor = '#666666'; //Use any hex code
var disableOpacity = 40; //Valid range 0-100
var loadingImage = 'lib/release-0.0.1/loading.gif'; //Use relative path from this page
//This method initialises the modal popup
$(".modal").click(function() {
var source = 'intro.php'; //Refer to any page on your server, external pages are not valid
var width = 500; //Use an integer (in pixels)
modalPopup(align, top, width, padding, disableColor, disableOpacity, backgroundColor, borderColor, borderWeight, borderRadius, fadeOutTime, source, loadingImage);
});
//This method initialises the modal popup
$(".landscape").click(function() {
var source = 'lib/landscape.jpg'; //Refer to any page on your server, external pages are not valid
var width = 920; //Use an integer (in pixels)
var top = 10; //Use an integer (in pixels)
modalPopup(align, top, width, padding, disableColor, disableOpacity, backgroundColor, borderColor, borderWeight, borderRadius, fadeOutTime, source, loadingImage);
});
//This method hides the popup when the escape key is pressed
$(document).keyup(function(e) {
if (e.keyCode == 27) {
closePopup(fadeOutTime);
}
});
});
または、プラグインなしでこのオプションを使用します:jQueryを使用して簡単なポップアップを生成する方法
jQueryMobileプラグインは本当に便利だと思いました。
http://jquerymobile.com/demos/1.2.0-alpha.1/docs/pages/popup/
<script src="../../../js/jquery.mobile-1.2.0-alpha.1.js"></script>
<a href="#popupBasic" data-rel="popup">Open Popup</a>
<div data-role="popup" id="popupBasic">
<p>This is a completely basic popup, no options set.<p>
</div>
私は自分の質問に答えることができました。FullCalendar の初期化で以下を追加しました。
select: function(start, end, allDay, jsEvent, view){
$('#addEvent').css({ left: jsEvent.pageX, top: jsEvent.pageY }).show("slow").fadeIn();
},
その方法では、次のように、HTML に存在する非表示の div を使用します。
<div id="addEvent" style="display: none; background-color:#F7F7F7;position: absolute; width: 300px; z-index: 1000;">
</div>
私のフィドルリンクを見てくださいFullCalendar with QTip
これを参照してくださいFullCalendar Document eventRender
。以下は、サンプル コード スニペットです。
イベントレンダー
$('#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
});
}
});