アプリ版:「スタンプのみでお礼する」機能のリリースについて

<html>
<head>
<META http-equiv="Content-Script-Type" content="text/javascript">
<script langage="javascript">
<!--
function start(){
time=setTimeout("jsimage()",1000);
}

var c=0;


function jsimage(){
clearTimeout(time);
if(c<=3){
document.write('<div style="position:absolute;left:'+(c*30)+'px;top:0px">\n');
document.write('<img src="logo.gif">\n</div>');
time=setTimeout("jsimage()",1000);
c=c+1;
}
}
-->
</script>
</head>

<body>
<a href="javascript:start()">start</a>
</body>
</html>
これをIEブラウザで表示させると、一回だけlogo.gifが表示されるのですが、その後に
「エラー:オブジェクトを指定してください」とエラーが出ます。このエラー内容でで指定されているラインは1です、1行目には<html>タグしかないので、よく分からなくて困っています。
 何かいい知恵がありましたら教えてください。お願いします

A 回答 (2件)

body内、以外でdocument.writeを使うと新しいdocumentを開いてそこに書き出します。


(たぶん、IEの場合だけで普通はdocument.openを先に実行する必要があります。)
なので、2回目以降は1行目がエラーとなってしまいます。

ページ内を書き換えるにはDOMのインタフェースにのっとって書き換えるか、innerHTML等を使うとよいでしょう。
たぶんdocument.writeの動作を勘違いされているので真の意図がわからないのですが、
これは1秒ごとに最大3つまでlogo.gifを書き足すという意図なのでしょうか?
それともlogo.gifの位置を移動させたいだけなのでしょうか?
真の意図が判れば具体的なコードもかけるのですが、今の状態ではちょっとパスさせてください。

この回答への補足

アドバイスありがとうございます。
作りたい物のイメージとしては、「線の絵」を表示させて、そのすぐ隣にまたその絵を表示させて・・・という形でタイマーで動かして、線が徐々に伸びていくように見せたいのです。

補足日時:2005/04/29 11:47
    • good
    • 0

サンプルです。


オブジェクトの作成や追加などにはDOMと呼ばれるインターフェースを使っています。(参考URL)
<html>
<head>
<title></title>
<script type="text/javascript">
var AddCount=3;//実行回数
function addImage(){
//追加するオーナーオブジェクト
var owner = document.getElementById('line');
//新しいimgオブジェクト
var newImage =
document.createElement('img');
newImage.src='logo.gif';
//オーナーオブジェクトに新しいimgを追加
owner.appendChild(newImage);
//回数の判定、タイマーセット
if(--AddCount ) setTimeout(addImage,1000);
}
</script>
</head>
<body onload="addImage()">
<p id="line"></p>
</body>
</html>

参考URL:http://www.parkcity.ne.jp/~chaichan/src/javascdo …
    • good
    • 0
この回答へのお礼

ありがとうございます! 参考URLも早速見させていただきました。メソッド等を闇雲に書くのではなく、まずは概念からきちんと勉強しなおします。
 数日にわたって面倒を見ていただいて、本当に助かりました!

お礼日時:2005/05/01 02:51

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