2013-04-23 2 views
5

사소한 경우 사과드립니다. 나는 JQuery를 처음 사용한다. 나는 수색을하고 this과 같은 질문을 발견했지만, 그들은 내 질문에 답을 얻지 못하는 것 같습니다.브라우저 중지 버튼을 클릭하여 작업 수행

나는 시간이 오래 걸릴 행동에 바보 진행 표시기 보여 jQuery를 사용하고 있습니다 :

사용자가 양식 버튼을 클릭
$(document).ready(function() { 
    $('form').submit(function() { 
     $('#progress').show(); 
    }); 
}); 

, 나는 그냥 애니메이션 GIF와 사업부를 표시합니다. 이 div는 페이지가 표시되는 나머지 시간 동안 표시됩니다. 양식의 작업이 완료되면 새 페이지가로드됩니다.

이 방법은 정상적으로 작동하지만 작업이 완료되기 전에 사용자가 브라우저에서 "중지"를 클릭하면 어떻게됩니까? div를 사라지게하려면 어떻게해야합니까? 이 사건을 접할 수있는 방법이 있습니까? 아니면 전체 상황을 처리 할 수있는 더 좋은 방법이 있습니까?

도움 주셔서 감사합니다.

+0

해당 이벤트를 캡처 할 수 있습니다 : 당신이 시도 할 수 있습니다 무엇

가 진행 대화 상자가 작은 타임 아웃 후 사라지게하는 것입니다. 그러나 더 나은 방법은 AJAX를 사용하여 양식 데이터를 제출하는 것입니다. 아마도 [체크 아웃] (http://stackoverflow.com/questions/1960240/jquery-ajax-submit-form) – musefan

+0

"onstop"이벤트가 있으며, 크로스 브라우저가 아니며 신뢰할 수 없습니다. – Xotic750

+0

div를 선택하여 제거 할 수 있습니까? 뭔가 :'$ ('# progress'). remove()'는 DOM에서 그것을 꺼냅니다. 어떤 행동이 일어나고 있더라도 멈추지 않을 것입니다. 그렇게하면 작업 실행 방식에 따라 다른 작업이 필요합니다. – ckersch

답변

0

"onstop"이벤트를 사용하여 처리 할 수 ​​있지만 IE에서만 작동합니다. 다른 브라우저에서 그런 이벤트를 처리 할 수 ​​없다고 생각합니다. 그것은 가능성이

$('form').submit(function() { 
    $('#progress').show(); 
    setTimeout(function(){ 
      $('#progress').hide(); 
    },3000); 
}); 
+0

예, 가능하지 않다고 결론을 냈습니다. 그러나 시간 초과가 실제로 도움이되지 않으면 사라지게 만듭니다. 대화 상자는 작업이 완료되기 전에 사라져 사용자가 실패라고 생각하게 만듭니다. 또는 정지를 클릭하면 (사용자가 계속 진행 중이라고 생각하게 만드는) 사라질 때까지 어느 정도 시간이 걸릴 것입니다. 아니면 둘다. –

관련 문제