2011-10-18 12 views

答えて

1

あなたの主な問題は、あなたが50%の不透明度にまでフェードアウトしていたと思いますが、これを0%の不透明度に変更しました。

さらに、他の2つのツイークを追加しました。最も重要なのは、バックグラウンドポジションが変更されたときにスプライトをフェードバックする 'フェードイン'エフェクトです。これは最初のフェードが完了した後にのみ呼び出され、あなたが探していると信じている効果を与えます。

さらに、グローバル変数に$( "#スプライト")セレクタを割り当てて、ブラウザを保存してjQueryをより効率的にすることができます。

idとクラスの名前を小文字で指定するのが一般的ですが、タイトルケースの名前付けに気付かず、何かが動作しない理由を理解するのは簡単です。このケースでは、小文字はコーディング標準として安全です。

$(function(){ 
    var $sprite = $('#sprite'); 
    $("button#Rainbow").click(function(){ 
    $sprite.fadeTo(200, 0, function() { 
     $sprite.css('background-position','0 0'); 
    }); 
    $sprite.fadeTo(200, 1); 
    }); 

    $("button#Esmerald").click(function(){ 
    $sprite.fadeTo(200, 0, function() { 
     $sprite.css('background-position','-152px 0'); 
    }); 
    $sprite.fadeTo(200, 1); 
    }); 

    $("button#Ruby").click(function(){ 
    $sprite.fadeTo(200, 0, function() { 
     $sprite.css('background-position','-303px 0'); 
    }); 
    $sprite.fadeTo(200, 1); 
    }); 
}); 
+0

わかりました。変数については、ブラウザのパフォーマンスを向上させ、jQueryをより効率的にすることができます。とにかく、私はそれをテストし、それは動作し、あなたの答えは非常に有用だった、ありがとう! – Ivan

+0

問題はありませんが、私は助けてくれることができてうれしいです。 jQueryについてもっと知りたい方は、この[ブログ記事](http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx)をお勧めします。よく書かれました。それ以上の読書の提案が必要な場合は、お尋ねください。 – Nijk

+0

私はこのブログポストをブックマークしました。私はデザイナーでプログラマーではありませんが、私はそれを学ぶのが好きです。もし私が開発についての問題があれば、私はここですぐに尋ねます!ありがとう! – Ivan

関連する問題