わかりましたので、AJAX アプリケーションには、一定時間後にツールチップをコーナーに貼り付けて、ユーザーが何をしているのかをユーザーに知らせる機能があります。ユーザーが別の場所をクリックすると、そのツールチップが関連しなくなるため、タイムアウトをクリアする 2 番目の関数もあります。
タイムアウトに複数のツールチップを設定することで問題が発生し始めています。設定は問題ありませんが、ユーザーが移動した場合にそれらをキャンセルする効率的な方法が見つかりません。
現在、私のコードは次のようになっています
var tuttimer = new Array();
function showtooltip(uniqueid, delay){
tuttimer[uniqueid] = setTimeout(function(){
//Create tooltip code here
},delay);
}
function clearTuttimer(){
if(typeof tuttimer != 'undefined'){
for (var i = 0; i < tuttimer.length; i++) {
clearTimeout(tuttimer[i]);
}
}
}
したがって、tuttimer
配列はページの読み込み時に作成され、ユーザーが何かを行うたびに、showtooltip()
関数を表示するツールチップが呼び出され、一意の ID と遅延時間が与えられます。
しかし、ユーザーが別の処理に移るとclearTuttimer()
、配列が存在するかどうかをチェックする関数が呼び出され、ループして個々のタイムアウトがクリアされます。
ただし、これは機能しません。うまくいけば、誰かが私を正しい方向に向けることができます。どうもありがとう。