在yujiro那里看到不用网页的php化就能实现新文章发表后New!的显示的小技法,按照说明添加到自己的分类那里,感觉还好,介绍到这里。具体的原理看下面的文法我想大家应该会明白,就是在每个文章标题的后面安装时间计数器,然后将不在24小时以内的计数用CSS进行非表示处理,对属于24小时以内的转变为New来表示出来。
首先安装script到要显示的网页里,我是安装到了首页那里,
<script type="text/javascript">
<!--
// passage time
var pass = 24;
// 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].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';
}
}
}
//-->
</script>
上面的24表示时间,New!!就是要显示的字样了,都可以自由的更改。
在CSS文件里追加下面文法,
span.new {
display: none;
color: red;
font-weight: bold;
}
如果想显示到最近发表的文章标题的后面的话,追加下面文法
<span class="new"><$MTEntryDate format="%Y:%m:%d:%H:%M:%S"$></span>
如果想显示到分类一栏那里的话,追加下面文法
<span class="new"><MTEntries lastn="1"><$MTEntryDate format="%Y:%m:%d:%H:%M:%S"$></MTEntries></span>
以上,就安装完毕了。