• 締切済み

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> ================================================================== よろしくご教授ください、失礼します。

みんなの回答

  • kentayos
  • ベストアンサー率100% (5/5)
回答No.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で動作確認いたしました。

関連するQ&A