2014-08-31 1 views
0

이 질문은 이미 논의되었을 지 모르지만 내가 찾고있는 것을 찾을 수 없었습니다.Javascript에서 "Snooze"와 같은 기능으로 나중에 이벤트를 트리거 할 수 있습니다.

저는 HTML + JS를 사용하여 Adobe Edge Animate에서 작업 중입니다. 이것은 전체 JS 질문이므로 여기에 게시하는 이유입니다. 하루 중 특정 시간에 대화 상자를 표시하는 코드를 작성했습니다. 여기

코드입니다 "이제 비디오 재생"및 "10 분에 알림": 대화는 두 개의 버튼을 가지고 그것을 10 분을 추가 있도록

function updateClock() { 
    var d = new Date(); // current date 
    var m = d.getMinutes(); 
    var h = d.getHours(); 

    console.log(h, ":", m); 

    // call this function again in 1000ms 
    sym.updateClock = setTimeout(updateClock, 1000); 

    if (h == 9 && m == 0) { //at 9hrs 00 min 

     //run the dialogue for the morning pause 
     sym.play(1000); 
    } else { 
     sym.stop(1000); 
    } 
} 

updateClock(); // initial call 

는 다음 나는 스누즈 버튼을 바인드 할 필요가 내 조건문. 나는 일종의 "count"변수를 추가해야한다는 것을 알고 있지만 정확히 어떻게 해야할지 모르겠습니다.

(function(symbolName) { 
     Symbol.bindElementAction(compId, symbolName, "${_snoze_btn}", "click", function(sym, e) { 

     } 
+2

당신이보고 싶을 경우 10 분의 1 밀리 초로 setTimeout을 호출하고 싶지는 않습니까? 600000? – iabw

답변

0

당신은 원하는 확신이 -

(function(symbolName) { 
    Symbol.bindElementAction(compId, symbolName, "${_snoze_btn}", "click", function(sym, e) { 
    // remind again again in 10 minutes 
    popupPlayOrSnoozeDialogTimer = setTimeout(popupPlayOrSnoozeDialogTimer, 600000); 
    }); 
}()) 

해당 기능이 다시 호출 될 때까지, 현재의 제한 시간 10 분을 추가 this answer을 확인하거나 new Date().valueOf()

+0

안녕하세요. 글쎄,이 코드 라인은 (내가 볼 수있는 한) 아무 것도하지 않는다. 스누즈 버튼을 누르면 10 분 후에도 "sym.play (1000)"을 할 수 있지만 해당 라인은 조건부가 아니며 10 분의 시간 제한 만 설정합니다. 폼에 조건을 추가 할 수 있습니까? "PlayOrSnoozeDialogTimer = True이면 1000을 재생합니까?" – JotaSolano