プロが教えるわが家の防犯対策術!

JavaScriptを勉強しているのですが、文字を点滅させたいので下記の様なプログラム作成したのですがELSE文に絡む事ができません。
どうして動作しないのか?わからず投稿しました。
どうすればよいのでしょうか?
宜しくお願い致します。

<script language="JavaScript" type="text/javascript">
<!--
var flg=1;
function test() {
if (flg==1) {
document.write("元気?");
flg=0;
}else{
document.write("");
flg=1;
}
setTimeout("test()",2000);
}
// -->
</script>
<BODY onLoad="test()"></BODY>

A 回答 (5件)

こんな感じでどうでやんすか


---------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>Blink</title>
<script type="text/javascript">
<!--
var flag=1;
function blink() {
if(flag){
document.getElementById("BlinkText").style.color="black";
flag=0;
}else{
document.getElementById("BlinkText").style.color="white";
flag=1;
}
setTimeout("blink()",2000);
}
// -->
</script>
</head>
<BODY onLoad="blink()">
<span id="BlinkText">元気?</span>
</BODY>
</html>
    • good
    • 0
この回答へのお礼

アドバイスして頂き有難うございます。この方式で作成します。

お礼日時:2005/10/11 10:12

失礼。



> > document.write();する前に、document.open();を入れて、document.write();の後にdocument.close();を入れて下さい。
>
> というのは意味がありません。
> (document.open/close はそういう風に使うものではありません。)

というのは私の勘違いでした。
    • good
    • 0

文字を点滅させるには BLUEPIXY さんの方法が一般的です。


(ただし、style.color よりも style.visibility を変更する方が確実です。→myumeさんの紹介したページを参照)

document.write で書き込んだ内容は「消す」ことができないので、この方法では点滅はできません。
また setTimeout によって後から実行されるスクリプトで document.write を使うと別のページに移動してしまいます。

また

> document.write();する前に、document.open();を入れて、document.write();の後にdocument.close();を入れて下さい。

というのは意味がありません。
(document.open/close はそういう風に使うものではありません。)

この回答への補足

ご返答有難うございます。
わかりました。
> document.write();する前に、document.open();を入れて、document.write();の後にdocument.close();を入れて下さい。
私も意味がわからず困惑していました。

document.write();でどうしてい動作しないのか納得できず投稿しました。
多少理解できましたので↓

>文字を点滅させるには BLUEPIXY さんの方法が一般的です。
この方法でやります。

有難うございました

補足日時:2005/10/08 21:56
    • good
    • 0

document.write();する前に、document.open();を入れて、


document.write();の後にdocument.close();を入れて下さい。
document.write()するときには、document.open()とdocument.close()を入れるように心がけてください。

また、No.1の方のリンク先の表示・非表示を切り替え、
No.2の方が書かれてるように、色を切り替える
という方法もありますよ。

この回答への補足

答えて頂き有難うございます。
下記のように変更したのですが点滅しませんでした。

<script language="JavaScript" type="text/javascript">
<!--
var flg=1;
function test() {
if (flg==1) {
document.open();
document.write("元気?");
document.close();
flg=0;
}else{
document.open();
document.write("444444");
document.close();
flg=1;
}
setTimeout("test()",2000);
}
// -->
</script>

補足日時:2005/10/08 14:57
    • good
    • 0

私がよく参考にさせてもらっているサイト


http://hp.xrea.jp/

文字を点滅させる
http://hp.xrea.jp/m/bn/10.html


ちょっと試してみて下さいね。
    • good
    • 0
この回答へのお礼

参考になります。有難うございます

お礼日時:2005/10/11 15:14

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