fullcalendar 是一个很优秀的日历插件。qTip2 是一个强大的提示工具。在讲下面的功能之前,需要对fullcalendar 和 qTip2 有些了解,可直接点击下面贴出的2个地址:

fullcalendar

qTip2

我现在需要实现的功能就是鼠标放到事件上去,展示事件详情,我们可以借助 fullcalendar的 eventRender方法 和 qTips2 实现这个效果。

效果图如下:

具体实现步骤:

1.创建一个div,用于放事件详情;

<div class="event-detail-wrap" id="event-detail">
<div class="detail-info-list">
<div class="js_event_detail_time"></div>
<div class="js_event_detail_team"></div>
<div class="js_event_detail_subject"></div>
<div class="js_event_detail_teacher"></div>
</div> <div class="action-group">
<a href="#">日程详情</a>
<a href="#">复制</a>
<a href="#">编辑</a>
<a href="#">删除</a>
</div>
</div>

2.通过eventRender + qTip赋值,并显示浮层:

var calendar = new FullCalendar.Calendar(calendarEl, {
/***
*这里略过日历的相关配置
 */

eventRender: function (info) {
var eventStart = $.addZero(new Date(info.event.start).getHours())+':'+ $.addZero(new Date(info.event.start).getMinutes()),
eventEnd = $.addZero(new Date(info.event.end).getHours())+':'+ $.addZero(new Date(info.event.end).getMinutes()),
eventTitle = info.event.title,
eventTitleArray = eventTitle.split(',');
$(".js_event_detail_time").text("时间:" +eventStart +"-" + eventEnd)
$(".js_event_detail_team").text(eventTitleArray[0])
$(".js_event_detail_subject").text(eventTitleArray[1])
$(".js_event_detail_teacher").text(eventTitleArray[2])
$(info.el).qtip({
content: {
text: $('#event-detail') //要提示的内容,就是上面创建的那个浮层
},
position: {
my: 'left top', //箭头的位置
at: 'top right',//提示框的位置
},
show: {
solo: true //保证每次只显示一个提示框
},
hide: {
fixed: true, //能够操作提示框
delay: 600,//多久之后隐藏提示框
event:' mouseleave',
},
style: {
classes: 'qtip-event-detail' //自定义的弹层样式
}
});
},
});
说明:
  • $.addZero 是我自己定义的方法,这里就不展开的,就是把0补齐;

  • eventTitleArray = eventTitle.split(',');请根据实际情况修改,我项目里面的数据是以“,”分开的。

3.写浮层的样式,请根据你自己的情况来写。

.qtip-event-detail {
width: 255px;
background-color: #fff;
border: 1px solid #e0e0e0;
border-radius: 2px;
border-top:3px solid #2878f0;
padding:2px;
box-shadow: 0 0 8px rgba(0,0,0,.2);
}
.qtip-event-detail .qtip-tip{
top: 6px !important;
}
.event-detail-wrap{
display: none;
font-size: 14px;
line-height: 26px;
color: #666
}
.detail-info-list{
color: #999;
}
.event-detail-wrap .action-group{
border-top:1px solid #e0e0e0;
padding-top:8px;
margin-top: 8px;
text-align: right;
}
.event-detail-wrap .action-group a{
color: #2878f0;
text-decoration: none;
display: inline-block;
margin-left: 6px;
}

参考文档:

bootstrap-popover-get-stuck-in-fullcalendar

fullcalendar + qTip2显示事件详情的更多相关文章

  1. 11月10日下午 ajax做显示信息以后用ajax、Bootstrp做弹窗显示信息详情

    1.用ajax做弹窗显示信息详情 nation.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...

  2. ajax做显示信息以后用ajax、Bootstrp做弹窗显示信息详情

    1.用ajax做弹窗显示信息详情 nation.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...

  3. ajax“显示弹窗详情”和“删除”功能练习

    1.查看详细信息,以弹窗的形式显示,使用ajax 2.批量删除 “查询”功能可以参考前面的文章,这里只讲解ajax“显示弹窗详情”和“删除”功能 第一:在body中的代码 <title>a ...

  4. 【jquery隐藏、显示事件and提示callback】【淡入淡出fadeToggle】【滑入滑出slideToggle】【动画animate】【停止动画stop】

    1.jquery隐藏and显示事件 $("p").hide();      //隐藏事件$("p").hide(1000);  //1秒内缓慢隐藏$(" ...

  5. JQuery中隐藏/显示事件函数

    1.$("button").click(function(){ $("p").hide(); });2.如果您的网站包含许多页面,并且您希望您的 jQuery ...

  6. JS——事件详情(鼠标事件:clientX、clientY的用法)

    鼠标位置 >可视区位置:clientX.clientY 跟着鼠标移动的div案例 代码如下图:   这个案例,运用到前一篇文章中的event事件来处理.获取div的left和top值,当鼠标移动 ...

  7. demo2动态加载显示商品详情页

    /* 要求:实现 头像+昵称(多余7位用...) 商品图片(根据商品实际的图片的大小进行动态的展示.按照一定的比例进行展示.) 产品简介.产品简介在商品图片的下边.并跟随商品图片的大小进行动态的收缩或 ...

  8. androidwebview网页显示事件

    @Overridepublic void onPageCommitVisible(WebView view, String url) { super.onPageCommitVisible(view, ...

  9. jqgrid显示一行的详情

    http://blog.csdn.net/yangbobo1992/article/details/7930145 http://www.trirand.com/jqgridwiki/doku.php ...

随机推荐

  1. iframe高度自适应的方法

    第一种:iframe内容未知,高度可预测 这个时候,我们可以给它添加一个默认的CSS的min-height值,然后同时使用JavaScript改变高度.常用的兼容代码有: // document.do ...

  2. centos7双网卡绑定

    # 概念 服务器存在多块网卡时,可以通过bond来实现多块网卡并在一起使用: # 模式 mode 0:load balancing (round-robin) Support:需要Switch支持 & ...

  3. springboot+mybatis实现数据库的读写分离

    介绍 随着业务的发展,除了拆分业务模块外,数据库的读写分离也是常见的优化手段.方案使用了AbstractRoutingDataSource和mybatis plugin来动态的选择数据源选择这个方案的 ...

  4. python代码执行SQL文件(逐句执行)

    一.简介 关于Python如何连接数据库并执行SQL语句,几乎所有的Python教程都会讲,教程里基本只介绍了执行单条SQL语句的方法,但是实际生产过程中可不只是执行一两条语句,动辄几十条甚至上百条的 ...

  5. [SOJ #498]隔膜(2019-10-30考试)/[POJ2152]Fire

    题目大意:有一棵$n$个点的带边权树,第$i$个点有两个值$w_i,d_i$,表示在这个点做标记的代价为$w_i$,且这个点距离$d_i$以内至少要有一个点被标记,为最小代价.$n\leqslant6 ...

  6. Openshift概念

    Openshift是一个开源容器云平台,是一个基于主流的容器技术Docker和K8s构建的云平台.Openshift底层以Docker作为容器引擎驱动,以K8s作为容器编排引擎组件,并提供了开发语言, ...

  7. mysql-多表联查(实例)

    目录 多表查询 笛卡尔积查询 内连接查询 左外连接查询 右外连接查询 全外连接查询 多表查询 笛卡尔积查询 笛卡尔积查询:就是两张表相乘,若左边表有M条信息,右边表有N条信息,那么查询显示的信息总共为 ...

  8. iOS 12中获取WiFi的SSID

    开始搞智能家居,wifi获取不到了?? 小插曲 旧方法失效,19-12-15更新,ios13开始需要请求定位信息 SSID全称Service Set IDentifier, 即Wifi网络的公开名称. ...

  9. (转载) @ConfigurationProperties 注解使用姿势,这一篇就够了

    SpringBoot中的@ConfigurationProperties 传送门: http://www.hellojava.com/a/82613.html

  10. react学习记录(三)——状态、属性、生命周期

    react的状态state React 里,只需更新组件的 state,然后根据新的 state 重新渲染用户界面(不要操作 DOM) class Clock extends React.Compon ...