1

プラグインを使用せずに jQuery のアニメーション機能を使用して background-position プロパティをアニメーション化するにはどうすればよいですか? backgroundPosition がサポートされていたときに 1.4.4 に戻そうとしましたが、FF や Chrome では動作せず、IE で動作するようです。animate 関数のステップ コールバックを調べてみましたが、何も動作しません。

4

2 に答える 2

1

私が知っているように、jQuery には背景をアニメーション化する機能がありません。しかし、プラグインを使えば可能です:

http://plugins.jquery.com/project/backgroundPosition-Effect

http://www.protofunc.com/scripts/jquery/backgroundPosition/

于 2011-10-10T22:10:13.560 に答える
1

私はこれと同じ問題を抱えていました。Samich によってリンクされたプラグインは、両方の鳥を一石二鳥にする唯一の方法です (JQuery/Javascript だけでほぼすべてのブラウザーでアニメーション化できます)。

別の方法がありますが、互換性のために Modernizr のような機能検出スクリプトを使用するのが理想的です。

IE では、JQuery の .animate() と background-position-x および -y を別々に使用します (これは最新の JQuery で動作します)。次に、CSS トランジションをサポートするブラウザー(IE 以外のほぼすべて) では、.animate() の代わりに .css() を使用して背景位置を変更し、スタイルシートで CSS トランジションを設定します。

上記でほとんどのブラウザーをカバーしますが、プラグインを使用するだけのように互換性がない場合があります。ここで動作を確認してください: http://jsfiddle.net/lucylou/dVpjh/

于 2011-11-06T08:51:51.170 に答える