ここで初めて質問します。ここでいくつかの異なるスレッドを使用して、ファンシーボックスでイベント情報を開くフルカレンダーを作成しました。より具体的には、各日には、ファンシーボックスでその日のイベントのリストを開く (イベントとして構造化された) リンクがあります。
次のコードを使用して、カレンダーとファンシーボックスのリンクを作成しました。
$('#calendar').fullCalendar({
height: 550,
eventClick: function(event) {
if (event.url) {
$("a").fancybox({
'href' : event.url,
'width' : '6',
'height' : '100%',
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'type' : 'iframe'
});
return false;
}
},
eventSources: [
{
events: [
<?php
$query = "SELECT date, COUNT(*) AS num_events FROM events GROUP BY date ORDER BY date";
$result = mysql_query($query);
$numRows = mysql_num_rows($result);
$count = 0;
while ($row = mysql_fetch_assoc($result))
{
$count++;
$num_events = $row['num_events'];
if ($num_events == '1') {$num_events .= ' event';}
else {$num_events .= ' events';}
$url = 'dayEvents.php?d='.$row['date'];
$date = $row['date'];
?>
{
title : '<?php echo $num_events; ?>',
start : '<?php echo $date; ?>',
url : '<?php echo $url; ?> '
}<?php if ($count < $numRows) { echo ","; } ?>
<?php }?>
],
color: 'white',
textColor: '#2287c4'
}
]
})
});
私が経験しているシナリオは次のとおりです。
リンク A をクリックしても、何も起こりません。
リンク A をもう一度クリックすると、ファンシーボックスが開き、リンク A の URL が表示されます。ファンシーボックスを出ます。リンク B をクリックすると、ファンシーボックスがリンク A の URL で再び開きます。ファンシーボックスを出ます。リンク C をクリックすると、ファンシーボックスがリンク B の URL で開きます。さらに、カレンダー外のリンクをクリックすると、リンク C の URL が入ったファンシーボックスが開きます (これは、カレンダーのイベントをクリックするまで起こりません)。
基本的に、リンクは 1 回のクリックで遅延し、fancybox はページ上の任意のリンクのイベント ハンドラーを作成しています。これを引き起こしている可能性のあるものと、それを修正するために私ができることを誰かが知っていますか?
ありがとう。