重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

MouseOverしている間に同じ関数(処理)を
連続して呼び続けるにはどのように行えばいいでしょうか?

現在下記のようにしていますが思うように動いてくれません。

==================================================================
<script language= "javascript>"

var scrol = 0;

function test(){
   while(1){
      scrol++;
      if(scrol>7)break;
      parent.IFrame.location.href="test.htm#" + scrol;
   }
}

</script>

<body>
<input type="button" value="test" Onclick = "test()">
</body>

==================================================================

よろしくご教授ください、失礼します。

A 回答 (1件)

<html>


<head>
<title>onMouseOver時に加算する実験</title>
<script language="JavaScript">
<!--
var flag=false; //マウスポインタが乗っているか、乗っていないかの判定用
function adding(){
if(flag){
num=Number(document.f.t.value);
num++;
document.f.t.value=String(num);
}
}
//-->
</script>
</head>
<body onLoad="setInterval('adding()',100)">
<form name="f"><input name="t" type="text" value="1"></form>
<span onMouseOver="flag=true"
onMouseOut="flag=false">ここにマウスをあわせると加算されます</span>
</body>
</html>

こんな感じでどうでしょう?
上の例は、ただ単純にonMouseOver時に加算するだけですが、参考にはなると思います。

ページが読み込まれた時点ではflagはfalseなので、
0.1秒毎にadding()が呼び出されているわけですが、実際に加算は実行されません。
「ここにマウス・・・」の部分にポインタがのれば、flagはtrueに、離れれば、flagはfalseになるので、乗っている間だけ加算が実行される、という仕組みです。つまりflagで、加算の制御を行っています。

上のタグをコピペして、動作確認してみてください。私はIE6で動作確認いたしました。
    • good
    • 0

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