知識、知恵のカタマリ

[PR]2人目出産育児の悩みを解決!

解決済

clip!clip!
Ads By Google

サイドバーへのjavascript

<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<HEAD>
<TITLE>カウントダウンカウントアップタイマー</TITLE>
<SCRIPT language="JavaScript">
<!--
//配列オブジェクト
function MakeArray(n) {
        this.length = n;
        for (var i = 1; i <= n; i++) {
            this[i] = 0; }
        return this;
}
endDate= new MakeArray(1);
endDate[1]=new Date(1996,4,13,0,0,0);
function MyTimer(index,mode) {
   /* made by Jupiter Software (http://www.nsknet.or.jp/~kamichan/) */
   /* Countdown, Countup timers function for JavaScript */
   /* mode=1 countdown mode=2 countup */
var nowDate = new Date();
if (mode == 2){ times= Math.floor((-endDate[index].getTime()+nowDate.getTime())/1000); }
else { times= Math.floor((endDate[index].getTime()-nowDate.getTime())/1000);}
var days="";
var num =0;
num=(times % 60); /* sec */
days = ((num <10)&&(num>=0) ? "0" : "")+num+"秒 "+days;
times= ((times/60)<0 ? -1:1)*Math.floor(Math.abs(times /60));
num= (times % 60); /* min */
days =((num<10)&&(num>=0) ? "0" :"")+num+"分 "+days;
times= ((times/60)<0 ? -1:1)*Math.floor(Math.abs(times/60));
num = (times % 24); /* hour */
days=((num<10)&&(num>=0) ? "0" : "")+num+"時間 "+days;
num=((times/24)<0 ? -1:1)*Math.floor(Math.abs(times/24));
days=" "+num+"日 "+days;
if (index ==1 ) {document.frm.txt1.value=days;}
num=setTimeout("MyTimer("+index+","+mode+")",1000);
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<form name="frm">
誕生日から <input type="text" name="txt1" size=28>
</form>
<SCRIPT language="JavaScript">
<!--
MyTimer(1,2);
//-->
</SCRIPT>
</BODY>
</html>
これをサイドバーへ貼るにはどうすればよいですか

2006-05-02 15:43の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。

回答(2)

2.

2006-05-02 17:46:21ベスト
学習用のものですね。では、少し、基本的なことを。
これは、JavaScriptというより、単独で、webページを作るためのHTMLソースです。

プラグインは、独立したものではなく、ブログという形のwebページの一部です。
これを、そのまま使うと、ページの中にページができる形になり、矛盾が生じます。

まず、webページの骨組みとなるHTMLを除かなければなりません。
ページの開始を宣言する、頭の<html>から</TITLE>まで、
下のほうの</HEAD><BODY>(残しても動くかも知れませんが、本来は削除)
webページの終了を宣言する</BODY></html>

これで、どうにか、webページの途中でも使える形になりました。
少し整えて、
<center>
<SCRIPT language="JavaScript">
<!--
//配列オブジェクト
function MakeArray(n) {
        this.length = n;
        for (var i = 1; i <= n; i++) {
            this[i] = 0; }
        return this;
}
endDate= new MakeArray(1);
endDate[1]=new Date(1996,4,13,0,0,0);
function MyTimer(index,mode) {
var nowDate = new Date();
if (mode == 2){
  times= Math.floor((-endDate[index].getTime()+nowDate.getTime())/1000); 
}
else {
  times= Math.floor((endDate[index].getTime()-nowDate.getTime())/1000);
}
var days="";
var num =0;
num=(times % 60); /* sec */
days = ((num <10)&&(num>=0) ? "0" : "")+num+"秒 "+days;
times= ((times/60)<0 ? -1:1)*Math.floor(Math.abs(times /60));
num= (times % 60); /* min */ 
days =((num<10)&&(num>=0) ? "0" :"")+num+"分 "+days;
times= ((times/60)<0 ? -1:1)*Math.floor(Math.abs(times/60));
num = (times % 24); /* hour */
days=((num<10)&&(num>=0) ? "0" : "")+num+"時間 "+days;
num=((times/24)<0 ? -1:1)*Math.floor(Math.abs(times/24));
days=" "+num+"日 "+days;
if (index ==1 ) {document.frm.txt1.value=days;}
num=setTimeout("MyTimer("+index+","+mode+")",1000); 
}
//-->
</SCRIPT>
<form name="frm">
誕生日から <input type="text" name="txt1" size=22>
</form>
<SCRIPT language="JavaScript">
<!--
MyTimer(1,2);
//-->
</SCRIPT>
</center>
こんな感じのものを、「フリーエリア」プラグインに貼ることになります。
回答レベル : 回答

回答ありがとうございます。「こんな感じのものを」と言う部分を全部コピペさせていただいて、フリーエリアに貼ったのですが、「誕生日から」の後がテキストフィールド(?)で、中身が何もない(カウントアップ表示が出ない)のです・・・どうしてでしょうか??
ほんとはテキストフィールドも付けたくないんですが、それは
無理なのでしょうか?
「誕生日から●日●時間●分●秒経過」と表示させたいんです。

1.

2006-05-02 15:59:03ベター
<SCRIPT language="JavaScript">から</SCRIPT>までをフリーエリア(カスタマイズ/管理→"プラグインの設定"のとなりの"新規追加"→上級者向けプラグイン→"フリーエリア"の"追加をする")に貼付けてください。
因に
誕生日から <input type="text" name="txt1" size=28>
のsize=28のところですが、20ぐらいにした方がいいかと思います(28で設置してみて大きいようだったらここを適当に変えてください)
自信度 : 自信なし 回答レベル : 補足要求

回答ありがとうございます。やってみたのですが、まだ上手く行かないようで・・・もうちょっと調べてみます

Ads By Google

コメント(6)

#1.  horsefly
2006-05-02 18:34:20

うまく行かない場合は、コメントに書いてください。
解決できましたら、質問を、(解決済)にしておいてください。
http://knowledge.livedoor.com/5517 をご参考に

#2.  七原
2006-05-02 20:26:51

スイマセン。まだ解決済ではないのに間違えて「ベスト回答」を
選んでしまいました(T-T)

#3.  どや?
2006-05-02 21:06:49

基本的に
<--!~~~~-->
の間は無効のコメント宣言なので
重要な計算式が無効になっている予感・・

#4.  七原
2006-05-02 21:10:51

フリーエリアの「改行設定」で「改行を<br/>タグに変換しない」で
設定したら、うまく行きました!
丁寧な回答をどうもありがとうございましたっ!!(><)

#5.  horsefly
2006-05-02 21:36:27

>>#4
良かった。書くのを忘れました。
回答欄では、字数制限で削ってしまったので、コメントするつもりだったのですが。

#6.  七原
2006-05-02 22:35:41

>>horsefly さま

まだまだ不勉強な部分が多くて(^^;)
丁寧なご回答をいただけたので、助かりました!
本当にありがとうございましたm(_ _)m

トラックバック(2)

トラックバックURL: