【问题标题】:jQuery fullCalendar and qTipjQuery fullCalendar 和 qTip
【发布时间】:2010-06-24 15:22:27
【问题描述】:

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

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

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

冯·施密特。

更新:这是我开始使用的代码(知道这是一个示例脚本,但是,如果我可以集成 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>

【问题讨论】:

  • 需要代码示例来帮助您。

标签: jquery fullcalendar qtip


【解决方案1】:

尝试下载 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' 
                } 
            } 
        });
    }    

【讨论】:

  • 所有苦苦挣扎的人...从bazaar.launchpad.net/~craig.craigsworks/qtip/1.0/files下载qTip。然后你就可以开始摇滚了。
  • 截至今天,这段代码对我来说非常适合 jquery.qtip-1.0.0-rc3、fullcalendar 1.5.1、jquery 1.4.4。谢谢!
  • 差不多 2 年后,仍然对我有用.. 使用 jquery 1.7.x 和 jquery.qtip-1.0.0-rc3.min.js
  • 我下载了文件并按照说明进行操作,但我遇到了这个错误,可能出了什么问题?未捕获的 RangeError:超出最大调用堆栈大小
【解决方案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 中工作(这太奇怪了!)。

【讨论】:

  • 我对此很垃圾。从来没有任何快乐! :-(
  • 您使用的是什么版本的 jquery?我在使用 jquery 1.4.2 尝试这个时失败了,然后切换到 jquery 1.3.2 并且事情开始发生了。仍然无法让它在 IE7 或 Opera 上运行(没有 Safari 来测试),如果我拿出那个愚蠢的警报,我什么也得不到。
  • 我已经用 jQuery 1.3.2 进行了尝试,正如在以前的博客中发现的那样,但没有任何乐趣。根据之前的评论......我对此很垃圾。 :-)
  • 我听到了。我自己现在不得不放弃它,因为我有最后期限,并且仍然只能通过那个烦人的警报让它在上述两种浏览器(没有 IE7、Safari、Opera 或 Chrome)中工作。跨度>
  • 同样如此。放弃它,因为截止日期已经过去了。遗憾的是,这个不错的功能不会出现在实时网站上。感谢您的帮助。 PVS
【解决方案3】:

虽然我没有专门使用 qtip,但我所做的事情与您使用 eventRender 回调所做的事情相似,如here 所述。

您的代码应该类似于:

$('#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
    });
}

});

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

【讨论】:

  • 感谢您的帮助,但我发现 eventRender 无法使用 qTip 玩球。 viewDisplay 似乎是前进的方向,但如何......我不知道。任何其他形式的 ToolTip 都可以满足我的需要。再次感谢 PVS
猜你喜欢
  • 1970-01-01
  • 2012-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多