1

要素のパルスを作成する jQuery プラグインを作成しました。Chrome と Internet Explorer 9 ではうまく機能しています。Internet Explorer 8 では、setTimeout の呼び出し後に機能しません。

問題を示すために jsFiddle を作成しました: http://jsfiddle.net/Guykp/ JavaScript コードは次のとおりです。

$(document).ready(function() {
  $.fn.pulseEffect = function(delay, duration) {
    var $element, animateOptions;
    $element = $(this);
    if (!$element.is(":hover")) {
      animateOptions = {
        opacity: $element.css("opacity") === "1" ? .6 : 1
      };
      $element.animate(animateOptions, duration);
    }
    return setTimeout((function() {
      return $element.pulseEffect(delay, duration);
    }), delay + duration);
  };

  $("#pulse-element").pulseEffect(0, 1000);
});

Internet Explorer 8 で動作させるにはどうすればよいですか?

これは Internet Explorer 8 からのエラー メッセージです:構文エラー、認識できない式: サポートされていない疑似: ホバー

これが解決策です: マウスがjQueryの要素の上にあるかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

2

jQuery には:hoverセレクターがありません。一部のブラウザーは:hoverネイティブにサポートしていますが、他のブラウザーはサポートしていません。jQuery はこれに CSS エンジン Sizzle を使用していましたが、現在は使用していません。

hover(またはmouseenter/ mouseleave) イベントを使用してみてください。

于 2012-10-23T20:12:23.323 に答える
0

そのような

$('li:hover).css('display', 'block');と同等です$().css('display', 'block');

Rocket Hazmatがjqueryを使用すると言ったようにhover

于 2012-10-23T20:11:04.073 に答える