2012-08-15 4 views
4

jQuery를 사용하여 이미지를 흐리게 표시하고 있습니다. jQuery 페이드 이미지를 동시에 표시

내가 사용하고있는 코드입니다. 선택한 이미지가 페이드 시작하기 전에이 100 %를 첫 번째 이미지를 페이드 아웃되는

$('.' + currentimage).fadeOut('slow', function() { 
    $('.' + selectedimage).fadeIn('slow'); 
}); 

두 번째 이미지 때 페이드 시작하는 간단한 방법이 있나요 첫 번째 이미지가 60-70 %로 퇴색 했습니까?

편집 : 좋은 답변입니다. 나는 또 다른 문제가 있다고 생각한다. 내 이미지가 서로 위에 표시되지 않으며 한 번에 하나의 이미지 만 표시됩니다.

답변

3

fadeOut() 거기에 선언 된 함수가 fadeOut()이 완료된 후에 만 ​​호출 할 수있는 콜백 함수이기 때문이다

$('.' + currentimage).fadeOut('slow'); 
$('.' + selectedimage).delay(100).fadeIn('slow'); 
+1

모든 현재 답변이 작동하지만 가장 깨끗한 방법입니다. – Archer

-1

을보십시오. 원하는 효과를 얻으려면 하나의 항목을 다른 항목 바로 다음에 실행할 수 있어야합니다. 이것은 fadeOut()의 X %부터 시작하는 것과 같지 않지만 원하는 효과를 얻으려면 fadeOutfadeIn 시간을 조정하거나 fadeIndelay()을 넣을 수 있습니다.

$('.' + currentimage).fadeOut('slow'); 
$('.' + selectedimage).fadeIn('slow'); 
+0

이 문제는 첫 번째 이미지가 검은 색으로 희미 해지고 다른 이미지가 th e 첫 번째 이미지가 사라집니다. – Patrick

3

slow는 600ms의 지금 (420) 당신은, 다른 함수를 호출 한 다음 계속 속임수와 (fadeTo를 사용하여 페이드의 일부를 적용 할 수있는 70 %

$('.' + currentimage).fadeOut('slow'); 
$('.' + selectedimage).delay(420).fadeIn(600); 
+2

'setTimeout()'대신'.delay (420)'을 사용하는 것이 더 깔끔하고 간단한 코드이므로 사용하는 것이 좋습니다. – jfriend00

+0

@ jfriend00 감사합니다. –

+0

그러나 이제는 이전 답변과 동일합니다.) – Archer

1

이 될 것입니다.

$('.' + currentimage).fadeTo('slow', .6, function() { 
    $('.' + selectedimage).fadeIn('slow'); 
    $(this).fadeOut('slow'); 
}); 
+1

나는 이것을 좋아하지만'fadeIn'과'fadeOut'을 동시에하지 않고'fadeOut'를'fadeIn' 마친 후에 끝내지 않겠습니까? –

관련 문제