- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 FullCalendar 小部件,正在我的网站上使用,演示如下:http://jsfiddle.net/46tnzj72/7/
我想将开始时间设置为当天的第一个事件,将结束时间设置为当天的最后一个事件。
目前,我对 minTime
进行硬编码,如下所示:
$('#calendar').fullCalendar({
editable: false,
handleWindowResize: true,
weekends: false, // Hide weekends
defaultView: 'agendaWeek', // Only show week view
header: false, // Hide buttons/titles
minTime: '07:00:00', // Start time for the calendar
columnFormat: {
week: 'dddd' // Only show day of the week names
},
allDayText: 'Online/TBD'
});
我想正确的方法是找到所有日期的最小值和最大值,然后设置 minTime
和 maxTime
。问题是,我不知道如何在没有回调的情况下做到这一点
最佳答案
好的,尚不支持此功能。它属于没有动态 setter 的事物列表。为了解决这个问题,我们需要在每次更改 View 时销毁并重新创建日历,这比听起来更可行。
var prevDate = moment("1000-01-01"); //arbitrary "not now" date
var options = { //Store the FC options in a variable
editable: false,
weekMode: 'liquid',
handleWindowResize: true,
weekends: false,
defaultView: 'agendaWeek',
viewRender: function (view, element) {
var newDate = $('#calendar').fullCalendar("getDate");
if (!newDate.isSame(prevDate, 'day')) { //if the date changed
prevDate = moment(newDate);
var events = $('#calendar').fullCalendar("clientEvents"); //Get all current events
$('#calendar').fullCalendar("destroy"); //Remove current calendar
$('#calendar').fullCalendar( //Rebuild the calendar
$.extend({}, options,
getEventLimits(events), //new limits
{defaultDate: newDate}) //preserve the date
);
}
},
events: eventSourceFunction,
};
$('#calendar').fullCalendar(options); //First build
// The following is needed or the first render won't have proper minTime/maxTime
// because events haven't been rendered yet. It just forces a date change.
window.setTimeout(function(){
console.log("timeout date:",prevDate);
var date = moment(prevDate);
$('#calendar').fullCalendar( 'incrementDate', moment.duration("7.00:00:00") );
$('#calendar').fullCalendar("gotoDate",date);
},1);
并获得限制:
var getEventLimits = function(events){
if(events.length > 0){
var max = events[0].end.format("HH:mm:ss"); // we will only be comparing the timestamps, not the dates
var min = events[0].start.format("HH:mm:ss"); // and they will be compared as strings for simplicity
for(var i = 1; i < events.length; i++){
if(max < events[i].end.format("HH:mm:ss")){
max = events[i].end.format("HH:mm:ss");
}
if(min > events[i].start.format("HH:mm:ss")){
min = events[i].start.format("HH:mm:ss");
}
}
}
return {maxTime:max,minTime:min};
}
还需要进行一些结构性更改,因为 JSFiddle 演示。
<小时/>此外,我注意到您正在使用重复事件。根据您的需求,像我的答案 here 这样的解决方案可能会更简单、更容易管理。
关于javascript - 根据周 View 中的第一个和最后一个事件设置 minTime 和 maxTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32129987/
我需要修改:时隙持续时间为“00:10:00”minTime 到 '08:00:00'最大时间为“22:00:00”不破坏原始代码 据我所知,我需要 .js 以及我想要进行的更改,并需要 .xml 将
我有几个线程运行了几乎无限的时间和迭代次数。当找到最佳解决方案时,迭代计数将重置为 0。设置最大迭代次数以防止无限循环。 当所有线程达到最大迭代次数时,我使用倒计时锁存器来停止进程。换句话说,当一个线
我有一些验收测试断言某些方法调用花费的时间少于最大值。使用我当前的解决方案,NUnit 将设置时间添加到方法调用中。 如何在没有设置时间的情况下测试方法调用的时间? 当前代码: private ISe
我在周模式下工作,我想将可见时间范围限制为本周最早的事件和本周最晚的事件。 我想解决问题的正确方法是手动过滤本周可见的事件,找到最小和最大时间并将它们设置为 minTime 和 maxTime 属性。
这是我的 solrconfig.xml 文件中的默认设置: ${solr.autoSoftCommit.maxTime:-1} “-1”的 maxTime 是否意味着自动软提交已关闭?如
是否可以在全日历中为每个工作日设置不同的 minTime 和 maxTime(左侧的小时数)? 示例: 周一:08:00 - 18:00 周二:08:00 - 18:00 周三:10:00 - 19:
我已经实现了 fullcalendar v2 资源日历。我无法解决的是根据日期设置动态 minTime 和 maxTime。每天都有不同的工作时间。 Monday 10:00 to 14:00 T
我有一个 FullCalendar 小部件,正在我的网站上使用,演示如下:http://jsfiddle.net/46tnzj72/7/ 我想将开始时间设置为当天的第一个事件,将结束时间设置为当天的最
我需要一个 dataPicker 来选择特定的时间间隔,例如我需要在 1 到 2 小时之间选择 30 分钟 30 的间隔。我想显示禁用其他时间的 dataPicker,允许用户仅选择时间间隔。 目前,
我有一个简单的数据库,其中包含 PRM-8000 的辐射读数。我可以将所有值加载到数据库中。我不能做的是每天每次都获取最大值和最小值。我见过人们在组中使用第一个和最后一个值的示例,但它不适用于我的集合
这就是我要说的: 这就是我所期望的: 复制此内容的最低设置是: $('#calendar').fullCalendar({ defaultView: 'agendaWeek',
我是一名优秀的程序员,十分优秀!