2010-02-11 4 views
0

약 15 개의 이미지로 이루어진 도장 애니메이션 오브젝트가 있습니다. 또한 dojo.fx.chain을 사용하여 모두 함께 연결합니다.도장 애니메이션으로 이미지를 미리로드 할 수 있습니까?

바로 전에 모든 내 dojo.fadeIn 및 dojo.fadeOut을 작성하기 전에 각 기본 이미지에 사전로드하기 위해 기본 javascript를 추가했습니다.

제 질문은 : 어려운 방법입니다. 또는 일부 기능/attr이 작업을 수행 할 애니메이션 개체를 설정할 수 있습니까?

답변

0

dojo에는 미리 정의 된 메소드가있어 애니메이션 용으로 이러한 이미지를 미리로드한다고 생각하지 않습니다.

이미지를 미리로드하기 위해 image.onload 및 image.onerror 이벤트를 수신하고있는 것 같습니다. 일반적인 방법입니다. 제어하기가 너무 어렵고 어렵다고 느낀다면 보이지 않는 div를 페이지에 넣고 배경 이미지를 이러한 애니메이션 이미지로 설정하는 간단한 CSS 방법을 시도해 볼 수 있습니다. 페이지가로드되면 이미지가 자동으로로드됩니다.

0

도장 애니메이션은 특별히 이미지 주변에 배치되지 않으며 추상적 수준에서 작동하며 DOM 노드에서 작동 할 수 있습니다. 따라서 IMG 노드에 대한 기본 제공 지원은 없습니다.

이미지를 오프 스크린 div에로드하는 작업을 수행하는 dojox.image.preload (http://api.dojotoolkit.org/jsdoc/HEAD/dojox.image.preload)가 있습니다. 그러나로드 할 때 감지 할 수있는 onLoad 이벤트 훅을 (현재) 정렬하지 않습니다. 따라서 귀하의 애니메이션을 재생할 수 있습니다.

당신은 preload()의 반환 값을 사용하여 onLoad에 연결하는 데 사용할 수 있다고 생각합니다. 그러나 이것은 독자를위한 연습입니다. 소스 코드 dojox/image/_base.js를 살펴보십시오.

+0

그런데 여러 이미지를 순환 시키려면 dojo.Animation 객체 대신 dojox.widget.Rotator를 사용하는 것이 좋습니다. http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/widget/tests/test_Rotator.html, http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/widget/tests/test_RotatorController.html을 참조하십시오. 그 테스트 디렉토리에있는 다른 사람. 아래쪽은 CSS를 통해 각 창의 크기를 수정해야하는 경향이 있다는 것입니다. style = "width : 100px; height : 200px;" 또는 테스트에 필요한 모든 공통 클래스를 제공합니다. 그렇지 않으면 크기가 0으로 축소됩니다. – Neek

관련 문제