2012-08-10 5 views
0

슬라이더 슬라이드에서 IMG 소스를 변경하려고하는데 너무 빠르지는 않습니다. 나는 그렇게 빨리 무엇을 의미합니까? slide() 이벤트에서 IMG src 특성을 즉시 변경할 수는 있지만 이것은 추악한 문제이며 원하지 않습니다. before.jpg라는 기본 이미지에는 fadeOut, 그리고 after.jpg라는 이미지에는 fadeIn이 있습니다.이 이미지는 슬라이더가 끝날 때 표시되어야합니다. 이 코드 시도 :jQuery UI 슬라이더를 사용하여 이전에서 이후로 이미지를 변경하십시오 (다른 소스).

$(document).ready(function(){ 
    $('#slider').slider({ 
     slide: function(event, ui) { 
     if(ui.value >= 50) { 
      $('#image-changer').fadeOut('slow'); 
      $('#image-changer').attr('src', 'images/after.jpg'); 
      $('#image-changer').fadeIn('slow'); 
     } 
     } 
    }); 
}); 

을하지만, 어떤 날이를 달성하는 데 도움이 될 수 있습니다 항상 ui.value가 50보다 큰 값을 가질 수 있기 때문에 때문에 이미지 fadeIn 한 번 한 번 작동하지 않는 이유는 무엇입니까?

+0

@ j08691 아직 없습니다. 방아쇠가 발생하는 이벤트가 slide()인지 알기 때문에 셀렉터와 attr 메서드를 사용하여 IMG src를 변경할 수 있지만 fadeIn에 대해서는 fadeOut 아무 생각이 없다. – ReynierPM

+0

@ j08691 확인해 보았지만 지금까지 테스트 한 것을 바꿨지 만 doesn 't 일 : (어떤 도움? – ReynierPM

답변

0

jQuery 효과 메서드는 비동기 적으로 실행됩니다.

$('#image-changer').fadeOut('slow', 
    function() { 
    $('#image-changer').attr('src', 'images/after.jpg').fadeIn('slow'); 
    } 
); 

페이드 아웃에 의해 받아 들여 두 번째 매개 변수는 애니메이션이 완료 될 때 호출하는 기능입니다 : 그들은 같은 시간에 모든 실행을 할 수 있도록하는 "체인"이러한 호출이 필요합니다.

+0

같은 효과가 작동하지 않는다는 것은 어쩌면 내가 의미 슬라이드, 다른 도움을 트리거하도록 선택한 이벤트입니까? – ReynierPM