
新着エントリーのあるカテゴリーに New マークをつける
小粋空間
http://www.koikikukan.com/archives/2006/02/20-235151.php
MacのSafari1.3.2とIE5.2ではうまく表示されず日付がそのまま表示されてしまっていたのですが、小粋空間さんより助言をいただき改善しました!!ありがとうございます。
以下自分用覚え書き。
続きを読む ≫ 「最近のエントリー」の場合
表示するテンプレートのエントリーリストに赤字を追加。
<!-- エントリーリスト開始 -->
<div class="sidetitle">
Recent Entries
</div>
<div class="side">
<MTEntries lastn="10">
<a href="<$MTEntryPermalink$>" title="e<$MTEntryID$>"><$MTEntryTitle$></a> <span class="new" style="display:none"><$MTEntryDate format="%Y:%m:%d:%H:%M:%S"$></span><br />
</MTEntries>
</div>
<!-- エントリーリスト終了 -->
</body>直前に以下のスクリプトを追加。
<script type="text/javascript">
<!--
// passage time
var pass = 24;
var content = '<img src="表示するアイコンを置いたURL" style="vertical-align: middle" />';
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].childNodes[0].nodeValue.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';
} else {
spans[i].style.display = 'none';
}
}
}
//-->
</script>
スタイルシートに以下を追加。
/* カテゴリー新着 */
.new {
display: none;
color: red;
font-weight: bold;
}
これでSafari1.3.2ではバッチシ!!!!IE5.2の場合は残念ながら「NEWマーク」は表示されないものの、日付は表示されなくなったのでひとまずよしとする。
≪ 続きを隠す