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 に答える