2011-10-18 3 views
0

CSS 스프라이트 이미지를 올바른 효과로 페이드하는 방법을 알아야합니다. 완전 불투명도 효과에 제로 불투명도를 적용하고 싶습니다.CSS 배경 위치를 jQuery와 함께 사용하여 CSS 스프라이트 이미지를 희미하게 만드는 방법은 무엇입니까?

내 예를 들어 있습니다 :

http://jsfiddle.net/CppV6/

그 버튼을 클릭 한 다음, 그 효과는 잘 보이지 않는다. 도움이 필요했는데 ...

고마워!

답변

1

당신의 주된 문제는 당신이 단지 50 %의 불투명도로 변색되었다는 것이 었습니다. 지금 이것을 0 %의 불투명도로 변경했습니다.

또한 다른 tweeks 몇 개를 추가했습니다. 가장 중요한 두 번째 대기열에 'fadeTo'효과가 적용되어 배경 위치가 변경되면 스프라이트가 다시 사라집니다. 첫 번째 페이드가 완료되면이 버튼이 호출되어 내가 찾고있는 효과가 나타납니다.

또한 jQuery를보다 효율적으로 만드는 추가 작업을 수행하는 브라우저를 저장하기 위해 전역 변수에 $ ("# sprite") 선택기를 지정했습니다.

일반적으로 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

관련 문제