3

我正在尝试为日历中的某些现有日期设置颜色。我知道如何设置日期的背景颜色。

如果我手动选择日期,我将使用此代码onclick= 'fSetSelectedDayShow(this)'

function fSetSelectedDayShow(evnt){
    var selectedDate=evnt.firstChild.innerHTML; 
    evnt.style.backgroundColor = '#66FF66';
}  

如果我从日历中手动选择任何日期,这一切正常。

现在我想反过来。我有日期,我想在日历中设置颜色。

例如,我想在加载屏幕时为日历的 9 日、11 日和 13 日着色。我怎样才能做到这一点?

4

1 回答 1

0

您的问题与 JavaScript 事件无关。你的例子

onclick='fSetSelectedDayShow(this)'

不是真正的 JavaScript 事件处理程序,而是当 onlclick 事件触发时被包装到匿名事件处理程序中的用户函数

function(evt) {
  return fSetSelectedDayShow(evt.originalTarget);
}

为了实现日历中特定日期的着色,我只需使用 CSS。很可能您使用某种服务器端代码或 JavaScript 来呈现您的页面,因此您可以有条件地为class您希望着色的那些日子的标签添加一些价值。

使用 PHP 呈现 HTML 的示例可能是:

<div class="calendarDay <?php echo in_array(date('d', $timestamp), array(9, 11, 13)) ? 'colorThis' : '' ?>">
  <?php echo date('d', $timestamp) ?>
</div>

那么显然你需要一个 CSS 类,比如:

.colorThis {
  background-color: #66FF66;
}
于 2012-11-28T11:35:48.133 回答