桃知商店よりのお知らせ

自動的に消えるNewマークをつけたつもりだが……。


伝版

伝耕する人々のブログ
from 伝耕


午前8時起床、浅草は雨後曇り。Movable Typeの表紙に自動的に消えるNweマークをつけたつもりがどうもうまくいかない。今まではすべてphpでやってきたのだが、htmlのままでやろうとしのだ。JavaScriptは次の通りで、これをMovable Typeのインストールデレクトリ中に[js]デレクトリを作って(その中に)アップロードした。

// passage time
var pass = 48;
// display content
var content = '<img src="
http://www.hogehoge.com/images/new.jpg" />';
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';
    }
  }
}

JavaScriptを読み込む(x)htmlは  <script type="text/javascript"src="/mt/js/newmarks.js"></script>であり、これを</body>の前においた。Newマークを表示するテンプレートは次の通り。

<span class="new"><$MTEntryDate format="%Y:%m:%d:%H:%M:%S"$></span>

それで これを4つのブログの塊に置いたのだ。だが、1番下だけうまくいって、残りはうまくいかない。1番下だけMultiBlogの設定が違うのだが、もっと根本的なところで間違っていそうだ。それがなぜなんだかわからないのだわ?馬鹿になっているなー。

Comment [1]

No.1

if(-now <= pass){
spans[i].innerHTML = content;
spans[i].style.display = 'inline';
}

この部分を

if(-now <= pass){
spans[i].innerHTML = content;
spans[i].style.display = 'inline';
}else{
spans[i].innerHTML = '';
}

NEWを出す期間超えたらクリアする分岐追加すれば
想定してた動きになります?

このページの上部へ

プロフィール

桃知利男のプロフィール

サイト内検索

Powered by Movable Type 5.2.13