2012-12-18 2 views
1

dojo 사용 1.8.1 ... 대기중인 위젯을 사용하여 서버가 작업 중일 때 AJAX 요청으로 처리하는 것을 보여줍니다.dojo 대기 위젯이 회전하지 않음

나는 dojox.widget.Standby 객체를 문제가 발생 시켰으며 처음으로 .show() 또는 .hide()를 처음 사용할 때 완벽하게 작동합니다. 두 번째로 나는 그것을 보여 주려고하지만 회 전자는 회전하지 않는다. 애니메이션 .gif 문제 ??

버튼을 두 번 이상 클릭 할 때 회 전자를 회전 시키려면 어떻게해야합니까 ??

UPDATE ....

어떻게 내 응용 프로그램은 사용자가 선택에 대한 도장 DataGrid 객체의 데이터를 표시하고있다. 선택은 AJAX 요청으로 서버에 xmit되고 서버는 사용자가 다운로드하거나 열 수있는 파일 이름 (.csv 파일)을 반환합니다. 나는이 줄을 주석 경우

window.location.assign(path); //Open save/open dialog 

가, 다음 회 전자 버튼의 모든 클릭에서 작동 : 나는/오픈을 만들 클라이언트 측에서 대화를 저장하려면 다음과 같은 자바 스크립트를 사용합니다.

2 UPDATE ....

추가 숨겨진 iframe이 HTML : 내가 대화 상자 및 다운로드 팝업이 사용하는 서버에서 다운로드 할 수있는 파일의 경로를받은

<iframe src="" style="display: none;" id="ifr"></iframe> 

:

window.document.getElementById("ifr").src=path; //Where path is location of downloadable file 

이제 모든 회 전자의 회전을 유지 버튼의 다운로드 파일 대화 상자 및 더 많은 클릭을위한 부드러운 보이는 ...

require(["dojox/widget/Standby", "dojo/domReady!"], 
function(Standby) { 
    var standby = new Standby({ 
     id: "standbyObj", 
     target: "standby", 
     color: "transparent", 
     zindex: "auto", 
     duration: "1000" 
    }); 
    window.document.body.appendChild(standby.domNode); 
    standby.startup(); 
}); 

나중에 버튼을 클릭 할 때이 문제에 대한 답변을 제공

감사 @Frode을 ... :

var standObj = dijit.byId("standbyObj"); 
if (standObj) { 
    standObj.show(); 
} 

... 서버 처리 AJAX 요청 ....

처리 후의

가 완료 :

var standObj = dijit.byId("standbyObj"); 
if (standObj) { 
    standObj.hide(); 
} 

이것 모든 작품이 좋지만 버튼을 다시 클릭하면 회 전자가 표시되지만 회전하지는 않습니다.

다른 물건 :

CSS :

#standby 
{ 
    position: absolute; 
    top: 50%; 
    left:50%; 
    width:32px; 
    height:32px; 
    margin-top: -16px; 
    margin-left: -16px; 
} 

HTML :

<div id="standby"></div> 
+0

당신은 어떤 자바 스크립트 오류를받을 수 있나요을 제공하는 무리 @Frode? –

+0

자바 스크립트 오류가 없습니다. 클릭 한 번에 회 전자를 제대로 표시하고 숨기지 만 버튼을 두 번 이상 클릭하면 회 전자가 회전하지 않습니다. – GoinOff

+0

작동하지 않는 코드 예를 게시 할 수 있습니까? 코드의 다른 부분에서 계속 진행될 수 있습니다. 또한 SO의 나머지 부분을 함께 사용할 수 있습니다. –

답변

1

다음과 같이이 문제의 해결책은 다음과 같습니다

을 보이지 않는 iframe에 작성 :

<iframe src="" style="display: none;" id="ifr"></iframe> 

서버가 다운로드 할 수있는 파일의 경로와 AJAX 요청에 응답하면,/오픈을 표시하려면 다음과 같은 자바 스크립트를 사용하여 클라이언트의 웹 브라우저에 저장 대화 상자 :

window.document.getElementById("ifr").src=path; //Where path is location of downloadable file 

이 좋아 보이지 않습니다뿐만 아니라 대기 대기 회 전자는 여러 단추를 클릭 할 때 계속 회전합니다.

감사 문제에 대한 해결책 .. 8)

관련 문제