要素のパルスを作成する 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の要素の上にあるかどうかを確認するにはどうすればよいですか?