私は無駄な馬鹿馬鹿しく描くことで私の夢を達成しようとしています。しかし、jQueryを10分で学んだ後、遅延機能がうまくいかないという問題が発生しました。jQuery setTimeout/delay in loop + mouseenter
だから、私はクラス "luls"で500の黒い小さなdivを持っています。アイデアは、マウスでマウスの上にマウスを置くと、ランダムな色で点灯し、一定時間後に黒色を取り戻すというものです。しかし、彼らはそうではありません。
Pictureとする。
$(document).ready(function() {
$(".luls").each(function(index) {
$(this).mouseenter(function() {
// It's just a random color function, do not focus on it.
var hue = 'rgb(' + (Math.floor((256-199)*Math.random()) + 200) + ',' + (Math.floor((256-199)*Math.random()) + 200) + ',' + (Math.floor((256-199)*Math.random()) + 200) + ')';
$(this).css("background-color", hue);
});
setTimeout(function() {
$(this).css('background-color', 'black');
}, 1000);
});
});
mouseoverでもdelay()とsetTimeoutを使用しようとしましたが、動作しません。君の力が必要。
私はsetTimeoutをウィンドウに 'これを' 再バインドと思います。 setTimeoutの中で$(this)を呼び出すと、意図しない結果が出る可能性があります。 –
さらに、 'mouseenter'コールバックの外側で' setTimeout'を呼び出しています。最初の負荷で。 –
各コールバック内にタイムアウトを設定してみてください – Volem