2013-06-06 3 views
0

몇 개의 미리보기 이미지가있는 회전식 슬라이드 쇼가 있으며 사용자가 큰 이미지를 왼쪽으로 페이드 아웃 한 다음 왼쪽부터 페이드 인한다고 가정합니다 새로운 이미지. 내 구문이 정확하다고 생각하고 예상대로 페이드 인 및 페이드 아웃하지만, 원하는대로 왼쪽으로는 페이드 아웃하지 않습니다. 아래는 click 이벤트에 대한 jQuery입니다.애니메이트 메서드에서 실행될 왼쪽 속성 값을 가져올 수 없습니다.

// click event handler for the <a> elements 
$("#image_list a").click(function(evt) { 
    var lgURL = $(this).attr("href"); 
    $("#image").animate({ opacity: 0, left: -205 }, 1000, 
     function() { 
      $("#image").attr("src", lgURL); 
      $(this).animate({ opacity: 1, left: "+=205" }, 1000) 
     } 
    ); //end animate 

    evt.preventDefault(); 
}); //end click 
+1

CSS에서 요소를 배치하고 기본 왼쪽 값을 설정했습니다. – adeneo

+0

어떤 버전의 jQuery를 사용합니까? '1.10.0'에서 실수로 '1.10.1'에서 수정 된 상대 애니메이션 (예 :'+ =')이 깨졌습니다. –

+0

최신 CDN을 사용하고 있습니다! – user1890525

답변

2

문자열 대신 왼쪽에 숫자 값을 사용해보십시오.

205를 추가하려는 경우 왼쪽을 0으로 설정하지 않는 이유는 무엇입니까?

$(this).animate({ opacity: 1, left: 0 }, 1000)

+0

캔트는 왼쪽 여백이 있으므로 0으로 설정합니다. 105px – user1890525

0

효과가 진행되지 않은 이유는 내가 요소에 상대의 위치를 ​​지정하지 않은 것이 었습니다. CSS를 업데이트 한 후 왼쪽으로 사라지는 애니메이션 효과가 나타나고 왼쪽에서 돌아와서 매력처럼 작동했습니다.

#image { 
position: relative; 
height: 250px; 
margin-bottom: 1em; 
margin-left: 105px; 
} 
관련 문제