何かがおき18日を繰り返しシフトの日の色のために2017年1月1日に開始するhttps://jsfiddle.net/wavzxkjw/
パターンを動作するように見えるので、私たちはそこから一日の色をcalcuateするためにそれを使用します。
この最初のコードブロックは(前2017年1月1日)
$(document).ready(function() {
$('#calendar').fullCalendar({
defaultDate: '2017-01-01',
dayRender: function(date, cell) {
$(cell).css('background-color', shiftDay(date));
}
});
function shiftDay(date) {
var pattern = [
'red', 'goldenrod', 'red', 'goldenrod', 'black', 'goldenrod', 'black',
'red', 'black', 'red', 'goldenrod', 'red', 'goldenrod', 'black',
'goldenrod', 'black', 'red', 'black'
];
var index = Math.abs(moment('2017-01-01').diff(date, 'days')) % pattern.length;
return pattern[index];
}
});
ここ
が、それは少しクリーンアップとコメントしている過去に入る動作しない、過去と未来の計算をサポートし、関数名は、それはあなたが天才だhttps://jsfiddle.net/wavzxkjw/2/
$(document).ready(function() {
$('#calendar').fullCalendar({
defaultDate: '2017-01-01',
dayRender: function(date, cell) {
$(cell).css('background-color', shiftColor(date));
}
});
function shiftColor(date) {
var pstart = '2017-01-01'; // pattern start date
var pattern = [
'red', 'goldenrod', 'red', 'goldenrod', 'black', 'goldenrod', 'black',
'red', 'black', 'red', 'goldenrod', 'red', 'goldenrod', 'black',
'goldenrod', 'black', 'red', 'black'
];
var plen = pattern.length; // how many parts to the pattern
// how many days from start of pattern are we
var days = Math.abs(moment('2017-01-01').diff(date, 'days')) % plen;
var index = 0; // pattern index
if (date.format('YYYY-MM-DD') < pstart) {
index = (plen - (days % plen)) % plen;
} else {
index = days % plen;
}
return pattern[index];
}
});
何をするかのより多くの代表になるように変更します!本当にありがとう。私はスパゲッティコードの土地にいて、まだ解決できませんでした。 – DoubleTri
あなたは大歓迎です! – smcd