2012-03-05 2 views
0

divから背景位置の移動をアニメーション化しようとしています。 divがバックグラウンドを持っており、このようなものがあります。jQueryを使用して背景の位置をどのようにアニメーション化しますか?

<div class="uppermenu" style="background-position: 0px -80px;"></div> 

だから、それが正常に動作し、私はMouseEnterイベントを作っていたとき、私は、それがバックグラウンド位置のようで作るアニメーション背景の位置を変更したいの:0PX 0PXしかし、それはうまくいきません...私は色とすべてを変更することができますが、私は背景を移動することはできません。それを行う方法はありますか?

私はこのように試してみた:このような

jQuery(this).children(".uppermenu").animate({"background-position": "0 85px"}, "slow"); 

もが:

jQuery(this).children(".uppermenu").animate({ 
    'background-position-y': '45px', 
    'background-position-x': '0px' 
}, 100, 'linear'); 

それらのどれもが私の立場を変えていません。なにが問題ですか?

+0

で、このためのプラグインを使用することができます ' $( '。uppermenu')。animate'? – shanabus

+0

私は親要素の上にマウスポインタを作っているので...子要素のアニメーションを作成する必要があります.... – jpganz18

答えて

1

背景位置をアニメーション化するための構文は次のとおりです。

.animate({backgroundPosition:"(-20px 94px)"}); 

あなたはまた、なぜあなたは、DOMの子オブジェクトにアニメーションを付けているだけではなく使用してhttp://archive.plugins.jquery.com/project/backgroundPosition-Effect

+0

ありがとう、Iveもそのやり方を試しましたが、まだ動かない、プラグインをチェックしようとしています。 – jpganz18

+1

jQueryはxプロパティとyプロパティの両方を一度にアニメーション化できないため、プラグインを使用する必要があります。ここには[より良い説明](http://snook.ca/archives/javascript/jquery-bg-image-animations)があります。 –

+0

これは素晴らしい例です...ありがとう、それは素晴らしい仕事! – jpganz18

関連する問題