0

ページの読み込み時に表示される要素があります。

理想的な世界で起こることは次のとおりです。

カーソルをその要素の上に置いてから外すと、要素はフェードアウトします。

これはこのシナリオでは正常に機能しますが、ページの読み込み時にカーソルがすでに要素上にあり、カーソルが要素から非常にすばやく移動した場合、ホバーアウト機能は常に実行されるとは限りません。ただし、要素からホバーアウトすると正常に機能します。もっとゆっくり。

$(".myElement").hover(
  function () {
    $(this).fadeIn(250);
  },
  function () {
    $(this).fadeOut(250); // This does not happen if cursor already over element on page load and mouse out very quickly
  }
);

問題は、カーソルを要素からすばやく移動すると、ページがそもそも要素の上にあったことを登録しないことであるように思われます。

4

1 に答える 1

0

stop()を使用します。

これを試して

$(".myElement").hover(
  function () {
    $(this).stop(true, true).fadeIn(250);
  },
  function () {
     $(this).stop(true, true).fadeOut(250); // This does not happen if cursor already over element on page load and mouse out very quickly

} );

于 2013-01-31T10:55:30.193 に答える