- 締切済み
mouseover 時の連続処理につきまして
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> ================================================================== よろしくご教授ください、失礼します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kentayos
- ベストアンサー率100% (5/5)
<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で動作確認いたしました。