เปลี่ยนสีของเซลล์ทั้งหมดในวันที่เลือกแบบเต็มปฏิทิน

ฉันใช้ปฏิทินแบบเต็มและเปลี่ยนสีพื้นหลังของวันที่เลือก ปัญหาของฉันตอนนี้คือ ถ้าวันที่เป็นวันที่ปัจจุบัน ไม่ใช่ทุกเซลล์ที่เป็นสีของวันที่ที่เลือก ครึ่งหนึ่งมีรหัสสีของวันนี้ และอีกครึ่งหนึ่งมีสีของเซลล์ที่เลือก

วันที่ที่เลือกเป็นสีเขียวและวันที่ปัจจุบันเป็นสีเหลือง นี่คือรหัส css ของฉัน:

.fc-event-container {
  display: none;
}
.fc-day-top {
  border-color: solid green 3px;
}
.fc-today {
  background: #ffffa1 !important;
}
.fc-highlight {
  background: green !important;
}
.fc-row .fc-content-skeleton td, .fc-row .fc-helper-skeleton td {
  border-color: inherit !important;
}

$(function () {
  $('#calendars').fullCalendar({

    height: 395,

    header: {
      // title, prev, next, prevYear, nextYear, today
      left: 'prev',
      center: 'title',
      right: 'next'
    },
    events: [
  {
      title  : 'event1',
      start  : '2019-03-01'
  },
  {
      title  : 'event2',
      start  : '2019-03-05',
  },
  {
      title  : 'event3',
      start  : '2019-03-15'
  },
  {
    title  : 'event5',
    start  : '2019-05-15'
  }

],
eventRender: function (event, element, view) {
    // like that
    var eventStart = moment(event.start);
    $("td[data-date='"+eventStart.format('YYYY-MM-DD')+"']").addClass('dayWithEvent');
},

 
    // 選択可
    selectable: true,
    // 選択時にプレースホルダーを描画
    selectHelper: true,

  })
})
.fc-event-container {
  display: none;
}
.fc-day-top {
  border-color: solid green 3px;
}
.fc-today {
  background: #ffffa1 !important;
}
.fc-highlight {
  background: green !important;
}
.fc-row .fc-content-skeleton td, .fc-row .fc-helper-skeleton td {
  border-color: inherit !important;
}
.dayWithEvent {
  background: #b0e0e6;
  cursor: pointer;
}

.change-bg {
  background-color : green !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.0.1/fullcalendar.min.css" defer/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.16.0/moment.min.js" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.0.1/fullcalendar.min.js" defer></script>
<div id="calendars"></div>


person Eem Jee    schedule 25.03.2019    source แหล่งที่มา
comment
กรุณาเพิ่มการสาธิตซอ   -  person NIsham Mahsin    schedule 25.03.2019
comment
@NIshamMahsin โปรดดูการอัปเดต   -  person Eem Jee    schedule 25.03.2019
comment
@AndyHoffman โปรดดูการอัปเดต   -  person Eem Jee    schedule 25.03.2019
comment
ใครมีความคิดเกี่ยวกับเรื่องนี้?   -  person Eem Jee    schedule 25.03.2019


คำตอบ (2)


เพิ่งเข้าใจ! ฉันเพิ่งเพิ่ม CSS นี้:

td.fc-day-top.fc-today.fc-state-highlight {
   display: block;
}

และตอนนี้มันปิดกั้นเซลล์ทั้งหมด :)

person Eem Jee    schedule 25.03.2019
comment
ดี! ขอแนะนำให้คุณทำเครื่องหมายคำตอบว่ายอมรับเพื่อให้ผู้ใช้รายอื่นทราบว่าคำตอบใดที่เหมาะกับคุณ - person Gouda; 25.03.2019
comment
@Gouda ใช่ฉันจะพรุ่งนี้ - person Eem Jee; 26.03.2019

ฟังก์ชัน fullCalendar() จะเน้นวันที่ปัจจุบันเป็นคุณลักษณะในตัวโดยค่าเริ่มต้น ดังนั้นเมื่อคุณตั้งค่าสี bg ด้วยตนเอง สีจะทับซ้อนกับสีเริ่มต้น

ฉันเพิ่งลบตัวอย่างด้านล่างออกจากโค้ดของคุณ และมันก็ทำงานได้ดี

.fc-today {
  background: #ffffa1 !important;
}
person Gouda    schedule 25.03.2019
comment
ใช่ มันไม่มีปัญหากับฉันหากเป็นค่าเริ่มต้น ปัญหาคือลูกค้าของฉันที่พวกเขาต้องการให้เป็นสีเหลือง ขอบคุณ. - person Eem Jee; 25.03.2019