「goright」というdivをクリックすると、いくつかのことを行うgoRight()という関数があります。
div「goright」にカーソルを合わせると、ホバリングしている間、関数が繰り返し(少し遅れて)呼び出され、マウスを離すと何もせずに停止するようにしたいと思います。
setInterval を試してみましたが、その仕組みを誤解しているため機能していないと思います。
ありがとう。
jQueryを使用していませんが、これは私にとってはうまくいき、アプローチは似ているはずです
<script type="text/javascript" charset="utf-8">
var doingStuff = false;
function doStuff() {
if (doingStuff) {
document.getElementById('stuff').innerHTML += '.';
setTimeout(doStuff, 100);
}
}
</script>
<p onmouseover="doingStuff = true; doStuff()" onmouseout="doingStuff = false">
Mouseover to do stuff
</p>
<p id="stuff">Stuff: </p>
.
これにより、ホバリングしている限り、100 ミリ秒ごとにドキュメントにが追加されます。
基本的には、マウスオーバーでブール値をtrueに設定し、falseでマウスアウトを設定します。変数が true でない限り、次の呼び出しをスケジュールしないでください。また、必要な場合を除き、100 ミリ秒ごとに関数を呼び出しているわけではありません。ホバーするまで何も起こらないことを意味し、var を true に設定して繰り返し機能を開始します。