fullcalendar + qTip2显示事件详情
fullcalendar 是一个很优秀的日历插件。qTip2 是一个强大的提示工具。在讲下面的功能之前,需要对fullcalendar 和 qTip2 有些了解,可直接点击下面贴出的2个地址:
我现在需要实现的功能就是鼠标放到事件上去,展示事件详情,我们可以借助 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显示事件详情的更多相关文章
- 11月10日下午 ajax做显示信息以后用ajax、Bootstrp做弹窗显示信息详情
1.用ajax做弹窗显示信息详情 nation.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
- ajax做显示信息以后用ajax、Bootstrp做弹窗显示信息详情
1.用ajax做弹窗显示信息详情 nation.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
- ajax“显示弹窗详情”和“删除”功能练习
1.查看详细信息,以弹窗的形式显示,使用ajax 2.批量删除 “查询”功能可以参考前面的文章,这里只讲解ajax“显示弹窗详情”和“删除”功能 第一:在body中的代码 <title>a ...
- 【jquery隐藏、显示事件and提示callback】【淡入淡出fadeToggle】【滑入滑出slideToggle】【动画animate】【停止动画stop】
1.jquery隐藏and显示事件 $("p").hide(); //隐藏事件$("p").hide(1000); //1秒内缓慢隐藏$(" ...
- JQuery中隐藏/显示事件函数
1.$("button").click(function(){ $("p").hide(); });2.如果您的网站包含许多页面,并且您希望您的 jQuery ...
- JS——事件详情(鼠标事件:clientX、clientY的用法)
鼠标位置 >可视区位置:clientX.clientY 跟着鼠标移动的div案例 代码如下图: 这个案例,运用到前一篇文章中的event事件来处理.获取div的left和top值,当鼠标移动 ...
- demo2动态加载显示商品详情页
/* 要求:实现 头像+昵称(多余7位用...) 商品图片(根据商品实际的图片的大小进行动态的展示.按照一定的比例进行展示.) 产品简介.产品简介在商品图片的下边.并跟随商品图片的大小进行动态的收缩或 ...
- androidwebview网页显示事件
@Overridepublic void onPageCommitVisible(WebView view, String url) { super.onPageCommitVisible(view, ...
- jqgrid显示一行的详情
http://blog.csdn.net/yangbobo1992/article/details/7930145 http://www.trirand.com/jqgridwiki/doku.php ...
随机推荐
- Vue 动态路由的实现以及 Springsecurity 按钮级别的权限控制
思路: 动态路由实现:在导航守卫中判断用户是否有用户信息,通过调用接口,拿到后台根据用户角色生成的菜单树,格式化菜单树结构信息并递归生成层级路由表并使用Vuex保存,通过 router.addRout ...
- linux上文件的上传和下载
现整理一篇linux上文件的上传和下载 第一种方式就是在windos上安装工具 如: 工具如何使用我就不赘述了,easy 第二种方式就是使用liux的命令(首先是文件上传) 上传文件(首先创建文件夹如 ...
- 开启Telnet服务
在Win7系统中安装和启动Telnet服务非常简单:依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows 功能设置对话框.找到并勾选“ ...
- 使用NODEJS实现JSONP的实例
JSONP与JSON只有一字之差,我们在使用Jquery的Ajax调用的时候也是使用相同的方法来调用,两者的区别几乎只在于使用的dataType这个属性的不同.但是实际上JSON和JSONP是完全不同 ...
- .Net Core WebApi(3)—NLog
在.Net Core中,微软提供的内置的日志组件没有实现将日志记录到文件.数据库上.这里使用NLog替代内置的日志组件 1.在项目中引入NuGet包 NLog NLog.Web.A ...
- python基础之猜数字游戏
#猜数字游戏 import random #impor语句导入random模块 guessor=0; print("#"*30) #输出30个”#“(”############## ...
- 打开文件报“EFailed to load resource: net::ERR_FILE_NOT_FOUND”错误
类似这样: 引入文件的路径错误
- 自旋锁spin_lock、spin_lock_irq 和 spin_lock_irqsave
自旋锁和互斥锁的区别是,自旋锁不会引起睡眠,所以可用于不能休眠的代码中(如IRQ) 自旋锁保持期间抢占失效,而信号量保持期间可以被抢占 定义 spinlock_t lock; init #define ...
- Java集合框架 面试问题整理
简介 java集合类是java.util 包中的重要内容.java集合框架包含了大量集合接口以及这些接口的实现类和操作他们的算法. java集合框架图 主要提供的数据结构 List 又称有序的Coll ...
- selenium三个等待方法
为什么需要等待时间:页面加载需要时间,如果页面没有加载完成,直接去定位,可能定位不到元素 1.强制等待: import time time.sleep(2) 不管有没有完成加载,必须等待2秒 2.隐式 ...