JS:
$(function() {
var jobDateText = $(".job-date").html()
, jobDate = new Date(jobDateText)
, today = new Date()
, thirtyDaysInMS = 30 * 24 * 60 * 60 * 1000
, differenceInMS = Math.abs(today - jobDate)
, differenceInDays = Math.floor(differenceInMS / 1000 / 60 / 60 / 24);
if (differenceInMS > thirtyDaysInMS) $(".message").show();
$("span.daysOld").html(differenceInDays);
});
HTML:
<span class="job-date">1-20-2013</span>
<div class="message">This job is <span class="daysOld"></span> days old, and it may no longer be available</div>
CSS:
.message {
display:none;
}
AngularJS は、このようなものに対して jQuery に代わる非常に優れた手段です。AngularJS で行う必要があるのは、コントローラ スコープに変数を設定し、日付計算$scope.stale = true
に$scope.daysOld
基づいて、単純に html に
<div class="message" ng-show="stale">This job is {{daysOld}} days old it may no longer be available</div>