2011-10-18 84 views

回答

1

我認爲你的主要問題是,你只衰減到50%的不透明度,我現在已經把它改爲0%不透明度。

另外,我添加了一些其他的tweeks,其中最重要的是第二個排隊的「fadeTo」效果,一旦背景位置發生變化,即可淡化精靈。這隻會在第一次淡出完成後纔會被調用,從而產生我相信您正在尋找的效果。

我也分配$(「#精靈」)選擇到一個全局變量保存執行額外的工作的瀏覽器,使jQuery的更有效率。

這是一般標準的做法,名稱標識的,並與小寫字母類,它是太容易沒有注意到的首字母大寫命名和花年齡指出爲什麼有些東西不能正常工作。在這種情況下,小寫字母作爲編碼標準更安全。

$(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