【问题标题】:Full calendar: change background of weekends完整日历:更改周末背景
【发布时间】:2013-04-17 10:44:48
【问题描述】:

我正在尝试禁用完整日历中的周末,但此选项周末:false

var calendar = $('#calendar').fullCalendar({

    header: {

        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
            },

    weekends: false,
    ........});

从日历中删除周末,或者我只想通过更改背景颜色禁用这两天并使其无法选择。
我该怎么办? 感谢您的帮助

【问题讨论】:

标签: jquery fullcalendar


【解决方案1】:

如果我理解正确你想要的问题:

  1. 以不同的颜色显示周末
  2. 知道这一天是否是周末

第一点,你可以使用css规则来设置周末元素的样式:

.fc-sat, .fc-sun {
    background-color: red !important;
}

第二点,您可以检查所选日期是否为周末,并按您的意愿行事。 可以这样使用dayClick (http://arshaw.com/fullcalendar/docs/mouse/dayClick/) 事件:

dayClick: function (date, allDay, jsEvent) {
    var checkDay = new Date($.fullCalendar.formatDate(date, 'yyyy-MM-dd'));
    if (checkDay.getDay() == 6 || checkDay.getDay() == 0) alert('Weekend!');
}

你不能禁用一天,因为 FullCalendar 不是日期选择器,所以你不能“禁用”,但你可以处理你想要的一切。

这是一个有效的小提琴:http://jsfiddle.net/IrvinDominin/qLUFg/1/

【讨论】:

  • 非常感谢欧文·多米宁 :)
  • 请记住,在某些文化中,一周不是从星期日开始的,因此例如在英国(星期从星期一开始),您将检查 5 和 6,而不是 6 和0. 当然,这有点古怪,这就是 FullCalendar 上有 firstDay 选项的原因,这取决于文化。见fullcalendar.io/docs/display/firstDay
  • .fc-mon { 背景色:#E09693; } .fc-tue { 背景颜色:#E8E58E; } .fc-wed { 背景颜色:#DAD6B0; } .fc-thu { 背景颜色:#C9E8A8; } .fc-fri{ 背景颜色:#9DB3DF; } .fc-sat { 背景颜色:#E09693; } .fc-sun { 背景颜色:#E8E58E; }
  • 很好的解决方案!最新版本的 FC 使用类:.fc-day-sat
  • 另外,您可以在背景中使用一些不透明度,以使后面的行边框可见。示例:.fc-day-sat, .fc-day-sun { 背景:#d0dac433; }
【解决方案2】:

除了 Irvin Dominin 的回答:

有时上述答案的第一部分可能会导致小部件标题变为相同颜色。因此,为了仅处理周末单元格,请使用以下样式:

.fc-sat,
.fc-sun {
  &.fc-day {
    background-color: red !important;
  }
}

【讨论】:

    【解决方案3】:

    如果你需要改变两个周末的颜色,我建议:

    .fc-nonbusiness {
      background-color: yellow;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      相关资源
      最近更新 更多