【问题标题】:Get event or HTML object for any date in calendar获取日历中任何日期的事件或 HTML 对象
【发布时间】:2012-11-14 23:33:35
【问题描述】:

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

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

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

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

现在我想要反之亦然。我有日期,我想在日历中设置颜色。

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

【问题讨论】:

    标签: javascript-events


    【解决方案1】:

    您的问题与 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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2013-07-08
      相关资源
      最近更新 更多