2

ビデオ プレーヤー ページがあり、プレイリスト div がマウスの移動中にのみフェードインし、マウスが 3 秒間アイドル状態の場合にフェードアウトするようにします。div のクラスは「fadeobject」で、ID は「video-chooser」です。

4

3 に答える 3

5

関連するページにイベント ハンドラーを適用するだけでなく、マウスがどこにでも移動することを意味すると仮定します。<div>mousemove()

var fadeout = null;
$("html").mousemove(function() {
  $("div.fadeobject").stop().fadeIn("slow");
  if (fadeout != null) {
    clearTimeout(fadeout);
  }
  fadeout = setTimeout(hide_playlist, 3000);
});

function hide_playlist() {
  $("div.fadeobject").stop().fadeOut("slow");
}

マウスが動くたびにタイマーが開始され、3 秒後に div がフェードし、前のタイマー (タイマーがあった場合) がキャンセルされます。

注:ここでは厳密には必須ではstop()ありませんが、複数のアニメーション/効果を扱う場合は推奨されます。

編集:関数名のタイプミスを修正し、setTimeout 引数を更新して、タイムアウト呼び出しが機能するようにしました。

于 2009-12-29T09:51:39.153 に答える
1

私はこれを使用していますが、うまく機能します:

$(document).ready(function() {
    $('.elementClass').fadeTo(0, '0.5').hover(function() {
        $(this).fadeTo(500, 1);
    }, function() {
        $(this).fadeTo(350, '0.8');
    });
});
于 2012-01-26T07:32:39.463 に答える