Newマークを出す

・2008/02/13 記事タイトル new
・2008/02/12 記事タイトル
・2008/02/11 記事タイトル

こういうの、よくやりますよね。(newマークは画像だったり。)
javascriptで、カンタンに設定できるので、ご紹介。(SEさんに作ってもらって大活用してます!)


静的に作るページなら、newを書くのも、日付を二度書くのも手間的に一緒ですが、システムと連動してる場合はシステムから二度吐いてもらえば自動的にnewが付くので便利。
(コーダー側でやってあげるだけで、newが出る出ないをシステム側で設定しなくてすむのでとっても親切♪)

<ul> <li> <span class="date">2008/02/13</span> 記事タイトル <span class="new">2008/02/13</span> </li> </ul> <script src="newicon.js" type="text/javascript"></script>

クラス.newの部分がnewマークに変身します。

■newicon.js

//<![CDATA[
// passage time
var pass = 1;

// display content
var content = '<span> </span>';

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') {
var strTime = spans[i].innerHTML;
strTime = strTime.replace(/\//, '');
strTime = strTime.replace(/\//, '');

var datetime = new Date();
datetime.setTime(datetime.getTime()-(pass*(24*60*60*1000)));
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1;
if(month <10) {
month = '0'+month;
}
var day = datetime.getDate();
if(day <10) {
day = '0'+day;
}
var nexttime = year+''+month+''+day;
if(parseInt(strTime) >= parseInt(nexttime)){
spans[i].innerHTML = content;
spans[i].style.display = 'inline';
}
}
}
//]]>

★var pass = 1;
日数で判別します。これなら1日。7ならその日から7日以内の日付にnewがつきます。

★CSS
newがオレンジテキストの場合

ul li .new {
display:none;
}
ul li .new span {
padding-left:5px;
color:#F77A00;
}

newが画像の場合

ul li .new {
display:none;
}
ul li .new span {
background: url(new.gif) no-repeat 0px 0px;
padding-right:25px;
padding-left:5px;
}

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://www.otogawa.com/cms/mt-tb.cgi/217
Listed below are links to weblogs that reference
Newマークを出す from px*blog