• 締切済み

指定日時から7日毎にテキストとリンクを繰返す方法

現在、手動でHTMLを毎週更新しています。 URLを含むテキストがA~Dまでありまして、一週間毎に A→B→C→D(→Aへ戻る)と繰り返し更新しています。 <div id="cm1"> □リンクA1  テキストA1 □リンクA2  テキストA2 □リンクA3  テキストA3 </div> このようなセットがDまであります。div idはAから順にcm1~cm4となってます。 javascriptで自動更新にできないかと思い、いろいろ調べ 一定時間で繰り返すというものがあり、以下の時間の部分を変えてみました。 $(function(){ var INTERVAL = 2000; setInterval(function(){ for( $i=1; $i<5; $i++ ){ if( $i == 4 ){ $j = 1; } else{ $j = $i + 1; } if( $( "#cm" + $i ).css( "display" ) != "none" ){ $( "#cm" + $i ).hide(); $( "#cm" + $j ).show(); break; } } },INTERVAL); }); 上記の時間の部分を var INTERVAL = 604800000; に変えてみましたが、7日経っても更新されませんでした。 常にページを更新したりしているからでしょうか。原因はわかりません。 CSSは #cm1{display: block;} #cm2{display: none;} #cm3{display: none;} #cm4{display: none;} javascriptは苦手で、ネットで調べましたが見つけたのは日時を指定するものなどです。 ご教示いただけましたら幸いです。。

みんなの回答

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.3

ごめん、間違えた。 jQuery.now() が返すのはミリ秒単位でした。 var j = Math.ceil( jQuery.now() / 604800000 ) % 4 + 1; 一週間待たなくても、#2さんも指摘してますが、PCのカレンダーを一週間進めてやればすぐに結果がわかりますよ。

yumico7
質問者

お礼

ご教示ありがとうございます。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 ロードされてから指定された間隔で実行されますので表示してから設定値までブラウザを開いてないと効果が現れません。 またJavaScriptでやるとクライアントの(Webページを見ている)端末の時間設定で動作が変わってしまいます。 (全てのユーザーが同じ状況にならない可能性がある) 表示した人全てのユーザーに同じリンク先を表示したいのであればサーバーサイドで制御したほうが確実です。

yumico7
質問者

お礼

ご回答ありがとうございます。 ほかの方法を探してみます。

関連するQ&A