2012-12-13 3 views
0

작동하도록 .animate() 및 .DATA()를 얻기 : 나는 elem.data를 사용할 때내가 해결하려면 다음 코드를 얻으려고 함께

이 이상한 문제가있다

, 두 번째 .animate가 작동하지 않습니다 값을 얻으려면, 내가 언급 할 때 구체적으로 "left" : "200px" 같은 값을 사용하는 것 같습니다.

나는 아래에 언급 된 코드 바로 앞에 console.log()을 사용하여 elem.data('prevLeft')elem.data('prevTop')의 존재를 확인했으며 이러한 값이 존재하며 정확합니다.

elem.animate({"width":"200px"},3000).animate({ 
    "left": elem.data('prevLeft'), 
    "top": elem.data('prevTop') 
},2000); 

무슨 문제가 될 것, 그리고 내가 .animate() 함수에 변수에 저장된 값을 전달할 수있는 방법은 없습니다?


부유 함수 값을 재설정하고,이 작동하지 않은 이유 때문이다. 언급 한 모든 방법을 재 시도했으며 모두 작동했습니다.

죄송합니다.

+0

나를 위해 작동하는 것 같군 : http://jsfiddle.net/jZGSk/ 당신이 당신의 상황을 jsFiddle 할 수 있습니까? 그것은 CSS 또는 다른 이상한 문제가 있어야합니다 것 같습니다. Animate는''200 ''200px '200'으로 작동합니다. –

+0

yep가 작동하는 것처럼 보입니다. http://jsfiddle.net/jZGSk/1/ – raam86

+0

@mcpDESIGNS 코드가 jsfiddle에서 작동하는 것처럼 보입니다. 나는 그것을 나머지 코드와 통합한다. 값을 저장하기 위해 elem.data ("prevLeft", elem.css ('left'))를 수행하고 있습니다.하지만 어떻게 영향을 미칠지 모르겠습니다. 그리고 상단, 왼쪽, 위치, ID 및 클래스 (js/jQuery 만 사용하는 해당 스타일 시트 btw가 없음)에 특정 CSS를 추가하지 않았습니다. 인라인이 추가되었습니다. – ffledgling

답변

1

편집이 시도 :

var prevLeft = elem.data('prevLeft'), 
var prevTop = elem.data('prevTop'); 

elem.animate({'width':'200px'},3000).animate({'top':prevTop,'left':prevLeft},2000); 

이 svenhesse의 대답이 작동하지 않은 경우지만, 나는이 뜻을 모르겠어요.

+0

이것은 작동하지 않는 것 같습니다. 동일한 문제입니다. 너비 애니메이션 만 작동합니다. : -S – ffledgling

+0

내 대답이 바뀌 었습니다. –

+0

수정 사항을 읽으십시오. – ffledgling

1

이 시도 :

var conf = { 
    left: elem.data('left'), 
    right: elem.data('right') 
}; 

elem.animate(conf, 200); 
관련 문제