3

私は以前にこの種のことをしたことがありますが、今はうまくいきません...

コンテナdivと、部分的に透明な画像を含むdivがあります。ユーザーがコンテナdivにカーソルを合わせると、そのdivの背景が0px〜56px移動するようにします。私はいつものようにアニメーションを使ってこれを試しましたが、機能しません。当初、私の古いスクリプトは1.6では機能しなかったので、1.4.2に戻っても違いはありません。したがって、私のコードはごみです...

$('.trans_bg').css({"background-position":"0 0"});
$('.trans_bg').hover(
function() {
    $(this).animate({backgroundPosition: "(0px -56px)"},{duration:300}); 
},
function(){
    $(this).animate({backgroundPosition: "(0px 0px)"},{duration:300});
})

何か案は?

4

1 に答える 1

0

コードはほぼ正しいです。新しい位置を設定するときに括弧を削除するだけです。

$('.trans_bg').css({ backgroundPosition: "0 0" });
$('.trans_bg').hover(function() {
    $(this).animate({ backgroundPosition: "0px -56px"}, 300);
}, function() {
    $(this).animate({ backgroundPosition: "0px 0px"}, 300);
});

ただし、残念ながら、jQueryはbackgroundPositionをネイティブにアニメーション化できません。

しかし、それを行うための優れたプラグインがあります:背景-位置アニメーションプラグイン

それをプロジェクトに取り込み、入力したコードが機能し始めるようにします。

于 2011-05-10T14:57:04.350 に答える