2011-09-04 6 views
2

지금은 Ajax가 서버에 있고 간단한 JSON을 얻은 다음 간단한 프로그램을 가지고 있습니다. 이미지 및 기타 정보를로드하는 메시지를 추가하고 싶습니다만 모달 큐를 대기하지 않기 때문에 순간적으로 단순한 모드로 고민하고 있습니다. 따라서 들어오는 즉시 모든 것을 실행합니다. 그것을 위해 큐를 작성, 그래서 잘 작동하지 않았다 :jQuery 대기열에 넣을 수있는 모달

응용해야한다 :

  • 보내기 아약스 요청
  • 아약스 완료 (숨기기 모달 (사용자가 클릭하면 아무것도 중지, 모달 표시) 허용)
  • [예를 들어] JSON 객체에 "message"가 설정되어 있으면 (if (strJson.message)) { }) 메시지를 모달로 표시
  • 하는 또 다른 AJAX 호출이 와서 간 경우가 메시지를 읽고있는 동안 사용자가

모달 종료 할 수 있도록 허용하고, 우리가 보여 더 조동사를 가지고, 그들은 현재이 닫힐 때 보여주기 위해 대기해야한다.

이것은 외부에 있어야하는 것 같지만 특별히 언급하는 것을 볼 수 없습니다.

아이디어가 있으십니까? :)

답변

4

메시지를 가져 와서 배열에 넣은 다음 대화 상자가 닫히면 배열에서 다음 메시지를 가져와 표시 할 경우 더 많은 메시지가 있는지 확인할 수 있습니다. 여기에 jQuery UI Dialog을 사용한 예제입니다.

는 HTML

<div id="dialog"></div> 

자바 스크립트

var messages = [], 
    addMessage = function (msg) { 
     messages.push(msg); 
     if (!$('#dialog').dialog("isOpen")) { 
      displayMessage(); 
     } 
    }, 
    displayMessage = function() { 
     $('#dialog').html(messages.shift()).dialog('open'); 
    }; 
$(function() { 
    $('#dialog').dialog({ 
     autoOpen: false, 
     modal: true, 
     close: function() { 
      if (messages.length > 0) { 
       displayMessage(); 
      } 
     } 
    }); 
    addMessage('First Message'); 
    addMessage('Second Message'); 
}); 
+1

내 질문을 다운 투표 한 사람들 인 것으로 대답을 선택할 수 있다면, 나는 것 : P는 제가 정말 분명 뭔가 빠진해야 생각하게 그래서 좀 더 인터넷 검색을했고, jQuery가 대기열에 내장되어 있으므로 지금 사용하고 있습니다 :) – Joe

+0

jQuery UI를 사용하고 싶었는지 또는 단순한 모드를 사용하는 이유가 있는지 알 수 없었습니다. 나는 그 플러그인에 익숙하지 않다. 나는 위의 예제가 어떤 시스템을 사용하도록 쉽게 변환 될 수 있다고 생각했다. –