4

我正在考虑使用 fullCalendar 并使用 qTip 来显​​示使用 eventMouseover 的描述。

有没有人设法做到这一点或知道解决方案?我已经用谷歌搜索过,也尝试过实现 这篇文章,但我没有快乐。我让它工作的唯一一次它进入了一个循环并崩溃了我的浏览器。

任何建议/支持将不胜感激。

冯施密特。

更新:这是我开始使用的代码(知道这是一个示例脚本,但是,如果我可以集成 qTip,我可以进步)。我有 qTip 等可以使用。我只是不知道现在从哪里开始?再次感谢。

更新:2010 年 7 月 15 日。有人可以帮忙吗?

<script type='text/javascript'>

     $(document).ready(function() {

      var date = new Date();
      var d = date.getDate();
      var m = date.getMonth();
      var y = date.getFullYear();

      $('#calendar').fullCalendar({
       theme: false,
       header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
       },
       editable: false,
       events: [
        {
         title: 'All Day Event',
         start: new Date(y, m, 1),
                        description: 'Blah blah blah blah blah blah blah'
        },
        {
         title: 'Long Event',
         start: new Date(y, m, d-5),
         end: new Date(y, m, d-2),
                        description: 'Blah blah blah blah blah blah blah'
        },
        {
         title: 'Meeting',
         start: new Date(y, m, d, 10, 30),
         allDay: false,
                        description: 'Blah blah blah blah blah blah blah'
        }
       ]
      });
     });

    </script>
4

3 回答 3

8

尝试下载 jquery.qtip-1.0.js

RC 似乎不起作用,但 1.0 起作用(我在另一个论坛上发现)。我有 QTip 使用此代码:

    eventRender: function (event, element) {
        element.qtip({    
            content: {    
                title: { text: event.title },
                text: '<span class="title">Start: </span>' + ($.fullCalendar.formatDate(event.start, 'hh:mmtt')) + '<br><span class="title">Description: </span>' + event.description       
            },
            show: { solo: true },
            //hide: { when: 'inactive', delay: 3000 }, 
            style: { 
                width: 200,
                padding: 5,
                color: 'black',
                textAlign: 'left',
                border: {
                width: 1,
                radius: 3
             },
                tip: 'topLeft',

                classes: { 
                    tooltip: 'ui-widget', 
                    tip: 'ui-widget', 
                    title: 'ui-widget-header', 
                    content: 'ui-widget-content' 
                } 
            } 
        });
    }    
于 2010-09-03T21:53:51.273 回答
2

我建议查看http://craigsworks.com/projects/forums/thread-google-calendar-like-bubble-for-jquery-fullcalendar

我已经让它(有点)工作了


      viewDisplay: function(view) { 
         var calendar = $(this);
     alert('Google calendars loaded');
         $('.fc-event').each(function(){
            // Grab event data
            var title = $(this).find('.fc-event-title').text(),
               data = calendar.data('fullCalendar').clientEvents(function(event){
                  return event.title === title;
               })[0];
            var qtipContent = data.description ? data.description : data.title;
            $(this).qtip({
               content: qtipContent,
               position: {
                  corner: {
                     target: 'topRight',
                     tooltip: 'bottomLeft'
                  }
               },
               show: 'mouseover',
               hide: 'mouseout',
               style: {
                 width: 200,
                 padding: 5,
                 background: '#A2D959',
                 color: 'black',
                 textAlign: 'center',
                 border: {
                    width: 7,
                    radius: 5,
                    color: '#A2D959'
                 },
                 tip: true
               }
            });
         });
         return false;
    },

如果没有那个警报,我的 qtips 就不会发生(还不知道为什么),这有点起作用。另外,我的只在 Firefox 和 IE6 中工作(这太奇怪了!)。

于 2010-07-15T19:50:25.693 回答
0

虽然我没有专门使用 qtip,但我做了一些类似于你使用 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
    });
}

});

让我知道这是否有帮助,否则今晚我回家后可以仔细看看。

于 2010-07-15T11:50:46.210 回答