a.htmlとb.htmlを作成しておき、
毎日午前0時になったら自動で切り替えるようにしたいです。

どなたか教えてください。
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

遅くなった。


ところで、あなたのやりたいことが、できたでしょうか?
あまり説明などするタイプの人ではないので、これ以上はご勘弁。

さて、1日おきでページを切り替える場合何を基準にするかです。
暦の奇数日と偶数日で切り替えようとすると、31日と翌月の1日では、連続で奇数日が表示されますね。
そこでここでは、Date オブジェクトを使いました。
JavaScript の Date オブジェクトは、標準時の1970年1月1日0時0分0秒から経過時間をmsで記憶しています。
なので、その値を1日の長さ(86400000ミリ秒)で割ると、1970年から何日経過しているかわかります。
さらにそれを2で割って余りを求めます。その結果が1ならば、経過日数が奇数で、0ならば偶数日経過していることになります。
if 文に使われた比較式は、奇数日か偶数日なのかしか判断しません。

そして、またもやらかした!
if (((t+34200000||0)/86400000|0)%2) location.href = 'b.html';

+と-を間違えた!申し訳ない。ごめんなさい
    • good
    • 0
この回答へのお礼

長々とお付き合いくださって本当にありがとうございました!!!

回答も丁寧に説明してくださってとても感謝しております。
ほんとうにありがとうございました。

今後もいろいろと勉強していきたいとおもいます。
今回はお世話になりました。
ありがとうござました!

お礼日時:2011/04/26 08:47

> 本来はどういった手法でやるものなのでしょうか?


サーバー側で処理すべきです。
JavaScriptは、サーバーではなくパソコン側で実行されます。

現状
1. パソコン側が、a.html をサーバー側に要求します。
2. サーバ側が、a.html を送信します。
3. スクリプトが日付を判断して、b.htmlを要求します。
4. サーバ側が、b.html を送信します。

結果
a.html の送受信が無駄になります。

解決策
a.html の要求があったとき、サーバー側で、日付を判断して適当なファイルを送信する

具体策
1. 日付が変わるとき、サーバー側のプログラムで、a.html と b.html の中身を交換する
  cron を参照
2. a.htmlの要求があったとき、日付を判断して適当なファイルを送信する
  サーバー側で動くperl or php 言語などを参照
    • good
    • 0
この回答へのお礼

なるほど・・・
プログラムのわからないわたしにも分かりやすいご回答ありがとうございます!!!

今回のサーバはECサイトでPHPが使えなかったので
教えていただいたやり方でやろうと思っています。

1点確認させていただけますでしょうか。

毎日0時にa.htmlからb.htmlに切り替える際に、
何時までa.htmlにアクセスするとb.htmlに飛ばされますでしょうか。

昨日の夕方に設定をして、今朝確認をしてみたらa.htmlの表示のままになってしまったので
もしかして終了時間があるのかと思い、最後のご質問をさせていただきました。

お礼日時:2011/04/22 17:36

けんしょうするために1にちもまつの?



86400000 = 24(じかん)×60(ふん)×60(びょう)×1000()
なので、1じかんおきなら 3600000 でわると、1じかんおきになるよ
1じかんもまてないなら、60000 でどう?1ふんおき。

でもこういうものは、すくりぷとでやるものじゃないよ。
    • good
    • 0
この回答へのお礼

60000で検証してみます!ありがとうございます!!
何も分からなくてすみません。。

そうなんですね!
本来はどういった手法でやるものなのでしょうか?

プログラムに弱くてすぐにjavascriptかなと思ってしまったのですがっ・・・
お時間のあるときでよいので教えてくださいませんでしょうか。

お礼日時:2011/04/21 14:48

あ~ごめん、きたいしているのは、にほんじかんだよね


なので、
if (((t||0)/86400000|0)%2) location.href = 'b.html';

if (((t-34200000||0)/86400000|0)%2) location.href = 'b.html';
にでもしようか。
9時間30分ずれてるから


if (true) location.href = 'b.html';
としたとき、b.html がひらくよね?

この回答への補足

if (true) location.href = 'b.html';

にしたときはb.htmlが開きました!
すごいです!

翌日はa.htmlを変更しておけば交互に変わる、
という認識であっていますでしょうか。

補足日時:2011/04/21 11:19
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございます!
さっそく教えていただいたように修正してみます。

明日再度確認いたしますね。

たびたびの質問に答えてくださってありがとうございます!!!!

お礼日時:2011/04/21 11:13

a.html のへっどぶぶんに、いかのようにかく


(XMLHttpRequestがつかえることがじょうけんだけど)
さーばのじかんをしゅとくしてる

<!DOCTYPE html>
<head>

<script type="text/javascript">
function t(r){return (r=new XMLHttpRequest)?(r.open('HEAD','#',false),r.send(null),new Date(r.getResponseHeader('Date'))):null}
if (((t||0)/86400000|0)%2) location.href = 'b.html';
</script>

</head>

この回答への補足

昨日教えていただいたようにサンプルを作ってサーバにあげて、
今朝a.htmlのURLで見てみたのですが変わっていませんでした。
何かやり方違っていますでしょうか。

お手数ですが教えてください。
よろしくお願いいたします。

補足日時:2011/04/21 08:45
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!!!
早速サンプル作ってみますね!

お礼日時:2011/04/20 12:06

これで出来ますよ。



----------------------------
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>

<div id="output"></div>

<script type="text/javascript">

var output = document.getElementById('output');

var date = new Date();
var hour = date.getHours();

// 分岐処理
if( 0 <= hour )
{
output.innerHTML = 'A';
}
else
{
output.innerHTML = 'B';
}

</script>
</body>
</html>
------------------------------------
まぁ、このままだと機能しない気がしますが。

「0時から何時まで、↑のスクリプトを実行するか。」
という処理も追加しないと駄目かと思います。

この回答への補足

サンプルを作ってみたところ、

AとBの中に文字列のみのときはOKだったのですが
htmlを記述したところブラウザにエラーが出てしまいました

何か違う書き方をしていますでしょうか。。
重ね重ね質問ばかりですみません。

補足日時:2011/04/18 09:14
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました!!!

さっそくサンプルを作ってみますね!

毎日0時から23時59分59秒まで実行したいのですが
(これで、毎日0時に切り替わることになります・・よね)
何か書き加える必要はあれば教えていただけますでしょうか。

お礼日時:2011/04/18 09:06

javascriptでみる時間とはクライアントのPCのローカル時間です


ユーザーの時計が狂っていたり、意図的にずらしてあれば精度に欠けるため
意味がないです。
やるならサーバー側のプログラムでcronやatなど時間を見てコピー処理するか
アクセスされた時間を見て表示するものを切り換える処理するかでしょう
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました!!!

ローカル時間なのですね・・・
プログラミングについて知識がないので
javascript以外のものも使うことは少し難しいです・・・

お礼日時:2011/04/18 09:04

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q日替わりで画像を変更したい

複数の画像のうちの1枚を、曜日や画像の枚数などに関係なく、日替わりでホームページに表示するようにしたいのですが、うまくいきません。毎日毎日、日付が変わるたびに、次の画像が表示されるようなプログラムをお教えいただけませんでしょうか(例えば、40個の画像があったら、41日目には再び最初の画像に戻ってほしいです)。
週単位の日替わり画像変更プログラムは、下記でうまくいきました。
<SCRIPT LANGUAGE="JavaScript">
<!--
back=new Array(7);
back[0]="tmp1.gif";
back[1]="tmp2.gif";
back[2]="tmp3.gif";
back[3]="tmp4.gif";
back[4]="tmp5.gif";
back[5]="tmp6.gif";
back[6]="tmp7.gif";
myDate=new Date();
myBack=myDate.getDay();
document.write("<img src='"+back[myBack]+"'>");
//-->
</SCRIPT>
よろしくお願いいたします。

複数の画像のうちの1枚を、曜日や画像の枚数などに関係なく、日替わりでホームページに表示するようにしたいのですが、うまくいきません。毎日毎日、日付が変わるたびに、次の画像が表示されるようなプログラムをお教えいただけませんでしょうか(例えば、40個の画像があったら、41日目には再び最初の画像に戻ってほしいです)。
週単位の日替わり画像変更プログラムは、下記でうまくいきました。
<SCRIPT LANGUAGE="JavaScript">
<!--
back=new Array(7);
back[0]="tmp1.gif";
back[1]="tmp2.gif";
back[2...続きを読む

Aベストアンサー

Hatenaにて見つけましたので参考になさってみてください。
「写真を日替わりで変更したい。例えば午前0時に写真表示を入れ替える方法」
http://q.hatena.ne.jp/1075480827

QJavascriptで指定した日付と時間に画像を入れ替える方法

Javascriptで指定した日付と時間に画像を入れ替える方法

WEBページ上のある画像を、指定した日付と時間に画像を入れ替える方法がわかりません。
ちなみに日付と時間はサーバー上のデータを取得したいと考えています。

例えば、10:00に「画像A」から「画像B」に切り替える。という感じです。

どのように書けばいいのか、ご指導よろしくお願い致します。

Aベストアンサー

サーバ時刻については既に回答があるみたいなので…

ローカル時刻で実行するサンプルを。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>test</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body>
<div>
<img id="target" src="A.jpg" alt="A">
</div>
<div id="res"></div>

<script type="text/javascript">
<!--
(function() {
var schedule = "10:00"; // ←指定時刻
var target = "target" // ←対象の画像要素のid
var targetSrc = "B.jpg"; // ←取替え後の画像アドレス
var interval = 10 * 1000; // ←確認する時間のピッチ(10秒)

var now = new Date();
schedule = schedule.split(":");
var h = +schedule[0] || 0;
var m = +schedule[1] || 0;
var s = +schedule[2] || 0;
now.setHours(h), now.setMinutes(m), now.setSeconds(s);
(function R(){
if ((new Date()) - now > 0) {
document.getElementById("target").src = targetSrc;
} else {
setTimeout(R, interval);
}
})();
})();
//-->
</script>
</body>
</html>

サーバ時刻については既に回答があるみたいなので…

ローカル時刻で実行するサンプルを。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>test</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body>
<div>
<img id="target" src="A.jpg" alt="A">
</div>
<div id="res"></div>

<script type="text/javascript">
<!--
(function() {
var schedule = "10:00"; // ←指定時刻
var target = "target" // ←対象の画像要素のid
var targe...続きを読む


人気Q&Aランキング

おすすめ情報