2011-10-04 6 views
1

은 내가 http://jsfiddle.net/5YrF2/3/jQuery를 파이어 폭스에서 작업 .animate하지만 크롬과 IE

모두에서 작업을 진행하게 노력하고 기본적인 애니메이션이없는 애니메이션 객체의 위치를 ​​파이어 폭스에서 예상대로 작동하지만, 크롬 또는 Internet Explorer에서 첫 번째 애니메이션 명령 후 화면 맨 아래로 이동합니다.

누구든지 내가 잘못한 것을 볼 수 있습니까? .block3 애니메이션 될 때까지

지금 http://jsfiddle.net/5YrF2/6/

모두에서 별도의 파이프 애니메이션의 새 버전을 만들었습니다 업데이트는 바로 10 픽셀 이동하기로하고 15 픽셀, 최대 작품을 좋아 . 대신 이상한 흔들림을합니다. 누구든지 어떤 아이디어?

+0

JS를 읽을 수 있도록 포맷하십시오. – maxedison

+2

@maxedison : 상단에는 "TidyUp"버튼이 있습니다. :-) – Blazemonger

+0

그냥 발견! – fightstarr20

답변

2

더 아래 세트로, 절대적 위치 DIV 있습니다. Chrome & IE는이 경우 제대로 작동합니다. 두 번째 애니메이션은 밑 부분을 0으로 설정하고 (설정되지 않았기 때문에) 0으로 설정하고 10에 애니메이션을 적용합니다. "bottom"이 10 인 절대 위치 div, 상단이 없으면 컨테이너 아래쪽에서 10 픽셀을 표시합니다.

요소를 "위로 이동"하시겠습니까? 그렇다면 대신 top을 사용하십시오. (그러나 당신은 top 속성이 없기 때문에 같은 문제가 생길 것입니다.) 난 당신의 요소에 "margin-left"와 "margin-top"을 없애고 top/left/etc를 사용할 것입니다. 대신.

+0

제대로 작동하는 것 같습니다. http://jsfiddle.net/5YrF2/5/에서 코드를 업데이트했지만 현재 문제가 있습니다. 애니메이션이 너무 먼 왼쪽으로 시작됩니다 – fightstarr20

+0

나를 무시하십시오! 나는 이것을 오랫동안 바라보고 있었다. 상대 위치로 절대 위치 지정을 변경했으며 이제는 모두 정상적으로 작동합니다. 도와 주셔서 감사합니다. – fightstarr20

+0

이제 나는 내가 겪은 일을 다른 문제로 바꿨다. 어떤 아이디어? – fightstarr20

2

CSS의 '하단'속성을 애니메이션으로 만들려고합니다. 처음에 명시 적으로 설정되지 않은 경우 잘못 될 수 있습니다. 대신에 "최고"속성을 애니메이션을 시도하고 방향을 반대로 :

http://jsfiddle.net/5YrF2/4/

$.Deferred(function(dfr) { 
    dfr.pipe(function() { 
     return $(".block1").delay(500).fadeIn().animate({ 
      left: '+=600' 
     }, 2500, "linear").animate({ 
      left: '+=10', 
      top: '-=10' 
     }, 100, "linear").animate({ 
      left: "+=27" 
     }, 100, "linear").animate({ 
      left: '+=10', 
      top: '+=10' 
     }, 100, "linear").animate({ 
      left: "+=25" 
     }, 100, "linear").fadeOut(); 
    }).pipe(function() { 
     return $(".block1").css('left', ''); 
    }).pipe(function() { 
     return $(".block1").delay(500).fadeIn(); 
    }) 
}).resolve(); 
+0

문제가 해결되었습니다, 완벽한 :) 감사합니다. – fightstarr20

관련 문제