- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我以另一种方式工作,但是当我在 ListView 中切换复选框时,即使事件不显示,日期也会显示。因此,现在我使用 addEventSource 和 removeEventSource 以不同的方式解决此问题,以便日期不再在 ListView 中呈现。
现在唯一的问题是,当我单击复选框时,什么也没有发生。有任何想法吗?除了下面的代码之外,我还创建了一个 fiddle以便更轻松地查看。
jQuery(document).ready(function($) {
var source99 = [
{
title: 'Lets see if this works',
start: '2017-09-14T13:00:00',
end: '2017-09-14T14:00:00',
allDay: '',
url: '',
color: '#7dc5d7',
catid: '99',
cat: 'all-events',
},
{
title: 'Another Test Event',
start: '2017-09-20T13:00:00',
end: '2017-09-20T14:00:00',
allDay: '',
url: '',
color: '#7dc5d7',
catid: '99',
cat: 'all-events',
},
];
var source100 = [
{
title: 'Test',
start: '2017-08-10T10:00:00',
end: '2017-08-12T12:00:00',
allDay: '',
url: '',
color: '#f98b22',
catid: '100',
cat: 'conferences',
},
{
title: 'Conference Event',
start: '2017-08-23T08:00:00',
end: '2017-08-23T09:30:00',
allDay: '',
url: '',
color: '#f98b22',
catid: '100',
cat: 'conferences',
},
];
var source101 = [
{
title: 'Skeet Shooting & Cookout',
start: '2017-09-30',
end: '2017-09-30',
allDay: '1',
url: '',
color: '#4776fd',
catid: '101',
cat: 'men',
},
{
title: 'Movie Night – “Greater”',
start: '2017-09-01',
end: '2017-09-01',
allDay: '1',
url: '',
color: '#4776fd',
catid: '101',
cat: 'men',
},
];
var source102 = [
{
title: 'Some Women’s Event',
start: '2017-08-23T08:00:00',
end: '2017-08-23T09:30:00',
allDay: '',
url: '',
color: '#b300ec',
catid: '102',
cat: 'women',
},
];
var source103 = [
{
title: 'A Youth Event',
start: '2017-08-21T15:15:00',
end: '2017-08-21T22:00:00',
allDay: '',
url: '',
color: '#36e4bc',
catid: '103',
cat: 'youth',
},
];
// Build Calendar
$("#calendar").fullCalendar({
displayEventEnd: true,
timeFormat: 'h:mm A',
theme: true,
//aspectRatio: 1.2,
header: {
left: 'basicWeek,listSixMonths,today',
center: 'title',
right: 'prev,next'
},
defaultDate: '2017-08-22',
defaultView: 'basicWeek',
views: {
basicWeek: {
titleFormat: 'MMMM D, YYYY'
},
listWeek: {
titleFormat: 'MMMM D, YYYY'
},
listSixMonths: {
type: 'list',
duration: {
months: 6
},
buttonText: '6 Month List',
titleFormat: 'MMMM D, YYYY'
},
},
viewRender: renderViewColumns,
eventSources: [
source99,
source100,
source101,
source102,
source103,
]
});
// Create Checkboxes
var checkboxContainer = `<ul class='ds-event-categories'>
<li id='cat99'><label><input id='all-events' type='checkbox' checked>All Events</label></li>
<li id='cat100'><label><input id='conferences' type='checkbox' checked>Conferences</label></li>
<li id='cat101'><label><input id='men' type='checkbox' checked>Men</label></li>
<li id='cat102'><label><input id='women' type='checkbox' checked>Women</label></li>
<li id='cat103'><label><input id='youth' type='checkbox' checked>Youth</label></li>
</ul>`;
// Append it to FullCalendar.
$(".fc-toolbar").after(checkboxContainer);
// Click handler
$("#all-events").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', 'source99');
} else {
$('#calendar').fullCalendar('removeEventSource', 'source99');
}
});
$("#conferences").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', 'source100');
} else {
$('#calendar').fullCalendar('removeEventSource', 'source100');
}
});
$("#men").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', 'source101');
} else {
$('#calendar').fullCalendar('removeEventSource', 'source101');
}
});
$("#women").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', 'source101');
} else {
$('#calendar').fullCalendar('removeEventSource', 'source101');
}
});
$("#youth").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', 'source102');
} else {
$('#calendar').fullCalendar('removeEventSource', 'source102');
}
});
function renderViewColumns(view, element) {
element.find('.fc-day-header').each(function() {
var theDate = moment($(this).data('date')); /* th.data-date="YYYY-MM-DD" */
$(this).html(buildDateColumnHeader(theDate));
});
function buildDateColumnHeader(theDate) {
var container = document.createElement('div');
var DD = document.createElement('div');
var ddd = document.createElement('div');
DD.textContent = theDate.format('DD');
ddd.textContent = theDate.format('dddd').toUpperCase();
container.appendChild(DD);
container.appendChild(ddd);
DD.className = 'ds-header-day';
ddd.className = 'ds-header-month';
return container;
}
}
});
最佳答案
我已经弄清楚了!我想归功于mikesmithdev为了获得一些见解,但是我做了一些升级。我确信还有更好的方法,但目前效果很好。
事件的平滑渲染
用 rerenderEVents 替换了 refetchEvents。
每个类别都有自己的功能,因此单击复选框时所有事件都不会闪烁。
事件源是事件对象
我发现,使用事件对象而不是 JSON 提要的链接(甚至本地托管)时,单击打开和关闭时事件的加载时间是无缝的。
不再需要两个事件实例
由于我们不再加载事件、删除所有点击事件并在点击时重新加载另一个版本的事件,因此我们只需要 1 个版本的事件。
日历内的复选框过滤器
我需要将复选框放在 fc 工具栏下方。我附加了这些,以便它们加载得漂亮且干净。
周 View 的自定义列标题
我需要将其设置为默认的 basicWeek View ,因为每天都会有很多事件。这让一切变得更加美好。
这是更新后的 JSFiddle
这是我的 jQuery 代码:
jQuery(document).ready(function($) {
var eventSource = new Array();
eventSource[0] = [{"title":"Lets see if this works","start":"2017-09-14T13:00:00","end":"2017-09 14T14:00:00","allDay":true,"url":"","color":"#7dc5d7","catID":99,"cat":"all-events"},{"title":"Another Test Event","start":"2017-09-20T13:00:00","end":"2017-09-20T14:00:00","allDay":true,"url":"","color":"#7dc5d7","catID":99,"cat":"all-events"}];
eventSource[1] = [{"title":"Test","start":"2017-08-10T10:00:00","end":"2017-08-12T12:00:00","allDay":true,"url":"","color":"#f98b22","catID":100,"cat":"conferences"},{"title":"Conference Event","start":"2017-08-23T08:00:00","end":"2017-08-23T09:30:00","allDay":true,"url":"","color":"#f98b22","catID":100,"cat":"conferences"}];
eventSource[2] = [{"title":"Skeet Shooting & Cookout","start":"2017-09-30","end":"2017-09-30","allDay":true,"url":"","color":"#4776fd","catID":101,"cat":"men"},{"title":"Movie Night \u2013 \u201cGreater\u201d","start":"2017-09-01","end":"2017-09-01","allDay":true,"url":"","color":"#4776fd","catID":101,"cat":"men"}];
eventSource[3] = [{"title":"Some Women\u2019s Event","start":"2017-08-23T08:00:00","end":"2017-08-23T09:30:00","allDay":true,"url":"","color":"#b300ec","catID":102,"cat":"women"}];
eventSource[4] = [{"title":"A Youth Event","start":"2017-08-21T15:15:00","end":"2017-08-21T22:00:00","allDay":true,"url":"","color":"#36e4bc","catID":103,"cat":"youth"}];
$('#calendar').fullCalendar({
displayEventEnd: true,
timeFormat: 'h:mm A',
theme: true,
header: {
left: 'basicWeek,listSixMonths,today',
center: 'title',
right: 'prev,next'
},
defaultDate: '2017-08-23',
defaultView: 'basicWeek',
views: {
basicWeek: {
titleFormat: 'MMMM D, YYYY'
},
listWeek: {
titleFormat: 'MMMM D, YYYY'
},
listSixMonths: {
type: 'list',
duration: { months: 6 },
buttonText: '6 Month List',
titleFormat: 'MMMM D, YYYY'
},
},
viewRender: renderViewColumns,
eventRender: function (event, element) {
element.attr('href', 'javascript:void(0);');
},
eventSources: [eventSource[0],eventSource[1],eventSource[2],eventSource[3], eventSource[4]],
});
// Create Checkboxes
var checkboxContainer = `<ul class='ds-event-categories'>
<li id='cat99'><label><input id='all-events' type='checkbox' checked>All Events</label></li>
<li id='cat100'><label><input id='conferences' type='checkbox' checked>Conferences</label></li>
<li id='cat101'><label><input id='men' type='checkbox' checked>Men</label></li>
<li id='cat102'><label><input id='women' type='checkbox' checked>Women</label></li>
<li id='cat103'><label><input id='youth' type='checkbox' checked>Youth</label></li>
</ul>`;
// Append it to FullCalendar.
$(".fc-toolbar").after(checkboxContainer);
$("#all-events").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', eventSource[0]);
} else {
$('#calendar').fullCalendar('removeEventSource', eventSource[0]);
}
$('#calendar').fullCalendar('rerenderEvents');
});
$("#conferences").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', eventSource[1]);
} else {
$('#calendar').fullCalendar('removeEventSource', eventSource[1]);
}
$('#calendar').fullCalendar('rerenderEvents');
});
$("#men").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', eventSource[2]);
} else {
$('#calendar').fullCalendar('removeEventSource', eventSource[2]);
}
$('#calendar').fullCalendar('rerenderEvents');
});
$("#women").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', eventSource[3]);
} else {
$('#calendar').fullCalendar('removeEventSource', eventSource[3]);
}
$('#calendar').fullCalendar('rerenderEvents');
});
$("#youth").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', eventSource[4]);
} else {
$('#calendar').fullCalendar('removeEventSource', eventSource[4]);
}
$('#calendar').fullCalendar('rerenderEvents');
});
function renderViewColumns(view, element) {
element.find('.fc-day-header').each(function() {
var theDate = moment($(this).data('date')); /* th.data-date="YYYY-MM-DD" */
$(this).html(buildDateColumnHeader(theDate));
});
function buildDateColumnHeader(theDate) {
var container = document.createElement('div');
var DD = document.createElement('div');
var ddd = document.createElement('div');
DD.textContent = theDate.format('DD');
ddd.textContent = theDate.format('dddd').toUpperCase();
container.appendChild(DD);
container.appendChild(ddd);
DD.className = 'ds-header-day';
ddd.className = 'ds-header-month';
return container;
}
}
});
关于jquery - Fullcalendar,使用复选框添加和删除事件源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45827475/
我创建了一个用户可以添加测试的字段。这一切运行顺利我只希望当用户点击(添加另一个测试)然后上一个(添加另一个测试)删除并且这个显示在新字段中。 所有运行良好的唯一问题是点击(添加另一个字段)之前添加另
String[] option = {"Adlawan", "Angeles", "Arreza", "Benenoso", "Bermas", "Brebant
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在努力将 jQuery 滚动功能添加到 nav-tab (Bootstrap 3)。我希望用户能够选择他们想要的选项卡,并在选项卡内容中有一个可以平滑滚动到 anchor 的链接。这是我的代码,可
我正在尝试在用户登录后再添加 2 个 ui 选项卡。首先,我尝试做一个之后。 $('#slideshow').tabs('remove', '4'); $("#slideshow ul li:last
我有一个包含选择元素的表单,我想通过选择添加和删除其中一些元素。这是html代码(这里也有jsfiddle http://jsfiddle.net/txhajy2w/):
正在写这个: view.backgroundColor = UIColor.white.withAlphaComponent(0.9) 等同于: view.backgroundColor = UICo
好的,如果其中有任何信息,我想将这些列添加到一起。所以说我有 账户 1 2 3 . 有 4 个帐户空间,但只有 3 个帐户。我如何创建 java 脚本来添加它。 最佳答案 Live Example H
我想知道是否有一种有效的预制算法来确定一组数字的和/差是否可以等于不同的数字。示例: 5、8、10、2,使用 + 或 - 等于 9。5 - 8 = -3 + 10 = 7 + 2 = 9 如果有一个预
我似乎有一个卡住的 git repo。它卡在所有基本的添加、提交命令上,git push 返回所有内容为最新的。 从其他帖子我已经完成了 git gc 和 git fsck/ 我认为基本的调试步骤是
我的 Oracle SQL 查询如下- Q1- select hca.account_number, hca.attribute3, SUM(rcl.extended_amou
我正在阅读 http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingG
我正在尝试添加一个“加载更多”按钮并限制下面的结果,这样投资组合页面中就不会同时加载 1000 个内容,如下所示:http://typesetdesign.com/portfolio/ 我对 PHP
我遇到这个问题,我添加了 8 个文本框,它工作正常,但是当我添加更多文本框(如 16 个文本框)时,它不会添加最后一个文本框。有人遇到过这个问题吗?提前致谢。 Live Link: JAVASCRIP
add/remove clone first row default not delete 添加/删除克隆第一行默认不删除&并获取正确的SrNo(例如:添加3行并在看到问题后删除SrNo.2)
我编码this ,但删除按钮不起作用。我在控制台中没有任何错误.. var counter = 0; var dataList = document.getElementById('materi
我有一个类似数组的对象: [1:数组[10]、2:数组[2]、3:数组[2]、4:数组[2]、5:数组[3]、6:数组[1]] 我正在尝试删除前两个元素,执行一些操作,然后将它们再次插入到同一位置。
使用的 Delphi 版本:2007 你好, 我有一个 Tecord 数组 TInfo = Record Name : String; Price : Integer; end; var Info
我使用了基本的 gridster 代码,然后我声明了通过按钮添加和删除小部件的函数它工作正常但是当我将调整大小功能添加到上面的代码中时,它都不起作用(我的意思是调整大小,添加和删除小部件) 我的js代
title 323 323 323 title 323 323 323 title 323 323 323 JS $(document).keydown(function(e){
我是一名优秀的程序员,十分优秀!