2012-07-11 3 views
0

JQuery와 이미지 갤러리 fadeIn

다음은 사라질 것이다 및 이미지 출력, 콜백 다음 새 이미지의 부하에 이미지를 제거하고 새로운 하나를 삽입합니다 ... 성가신 문제가 생겼하고 해결할 수없는 것 궁금

if($('#gallery-image img').css('opacity') == 1){ 
     $('#gallery-image').children('img').fadeOut(sawdays.gallery.transitionTime , function(){ 
      $(this).remove(); 
      $('#gallery-image').append(newImg); 
      $('#gallery-image img').load(function(){ 
       $(this).fadeIn(sawdays.gallery.transitionTime); 
      }); 
     }); 
    } 

사람이 내가 그것을 잘못하고 있었는데 아무것도 볼 수 있다면 .. 그것은 다시 퇴색한다 ...하지만 다시 슈퍼 빠른 또는 오히려 단지 새로운 이미지를 보여주는 페이드 인 것 같다 .. . 나는 이미 너무 많은 시간을이 일에 썼다 : S

+0

무엇이 'newImg'입니까? – undefined

+0

var newImg = $ ('') .attr ({ 'src': src, 'height': 높이, 'width': 너비, 'style': 스타일}); – John

답변

0

이것을 시도하십시오 :

if ($('#gallery-image img').css('opacity') == 1) { 
     $('#gallery-image').find('img').fadeOut(sawdays.gallery.transitionTime , function(){ 
      $(this).replaceWith(newImg); 
      $('#gallery-image img').fadeIn(sawdays.gallery.transitionTime); 
     }); 
    } 
+0

아, 좋은 기능을 나는 몰랐다 ... replaceWith ... 감사합니다. 그러나 fadeIn은 여전히 ​​fadeIn 매개 변수를 듣지 않습니다. 나는로드 기능 (심지어는 이미지가로드되었지만 기쁨이 없을 때 fadeIn을 의미)을 파이프로 연결했습니다. 위의 편집을 참조하십시오. – John

+0

@ John, 환영합니다. 왜 'load()'메소드를 사용합니까? – undefined

+0

이미지가 제대로로드되면 페이드 인이 일어날 수 있도록로드를 사용하고 있었는데 ... 필요하지 않습니까? – John