小粋空間で紹介されていた小技を使っています。
まず次のスクリプトを作りnew.jsとして保存
// passage time
var pass = 168;
// display content
var content = 'New';
var currentDate = new Date();
var spans = document.getElementsByTagName('span');
for (i = 0; i < spans.length; i++) {
if(spans[i].getAttribute('class') == 'new' ||
spans[i].getAttribute('className') == 'new') {
time = spans[i].innerHTML.split(":");
var entryDate = new Date(time[0], time[1]-1, time[2], time[3], time[4], time[5]);
var now = (entryDate.getTime() - currentDate.getTime())/(60*60*1000);
now = Math.ceil(now);
if(-now <= pass){
spans[i].innerHTML = content;
spans[i].style.display = 'inline';
}
}
}
テンプレート中にNewマークを表示させるためのタグを
<span class="new"><$MTEntryDate format="%Y:%m:%d:%H:%M:%S"$></span>
として埋め込み、
テンプレートの最後の部分に(本サイトではフッタの直下)
<script type="text/javascript" src="<$MTBlogURL$>new.js"></script>
と記述。
最後にcssに
/* New表示用 */
span.new {
background: #fff;
color: red;
font-size: small;
display: none;
}と記述。
テンプレートに埋め込んだ日付を<span class="new">で囲み、cssとjavascriptで表示・非表示切り替えているわけです。

コメントする