2012-06-10 4 views
1

jquery에서 프로그래밍 한 적이 없습니다. 에 대한 JQuery Countdown 플러그인을 사용하여 PHP 페이지를 호출했지만 타이머가 다시 시작되지 않으면 카운트 다운이 발생합니다. JQuery Countdown 플러그인의 'onExpiry'이벤트로 호출하려면 다시 시작 함수를 작성해야합니다. 이것은 HTML 페이지에있는 스크립트입니다. 나는이 게시물을 따라 가고있다 : Auto Restart/Reset countdown timer 하지만 나는 그 게시물의 해결책은 날짜에 관한 것이기 때문에 효과가 없다고 생각한다. 최대 2 시간 동안 임의로 다시 시작해야합니다. 감사합니다 ..... jquery - function restart

$(document).ready(function() { 
    function randRange() { 
     var newTime = Math.floor(Math.random() * 30001) + 10000; 
     return newTime; 
    } 

    function toggleSomething() { 
     $('#timeval').load('ajaxTime.php?randval=' + Math.random()); 
     clearInterval(timer); 
     lollo = parseInt(randRange()); 
     timer = setInterval(toggleSomething, lollo); 
     $('#msg').fadeOut("slow").countdown({ *onExpiry:?????* until : +(lollo/1000), 
      format : 'HMS', 
      layout : '<div id="timer">' + '<div class="timer_numbers">{hnn}:{mnn}:{snn}</div>' + '</div>' 
     }).fadeIn("slow"); 
    } 
    var timer = setInterval(toggleSomething, 1000); 
}); 

이 편집 :

내가 해결 :

$('#msg').countdown({until: +(lollo/1000), onExpiry: function() { setTimeout(function() { $('#msg').countdown('change', {until: +((lollo/1000) - 1)}); }, 1000); }, format: 'HMS', layout: 
    '<div id="timer">'+ 
     '<div class="timer_numbers">{hnn}:{mnn}:{snn}</div>'+ 
    '</div>' 
    }); 

사람이 나에게 프로 zac31 [에] libero.it에 문의하시기 바랍니다 더 나은 솔루션이 있다면 .. .. !!! 감사합니다 :)이 방법에 대해

답변

0

: 위대한

$(function() { 
    function randRange() { 
     return Math.floor(Math.random() * 30001) + 10000; 
    } 

    (function resetTimer() { 
     $('#msg').fadeOut("slow", function() { 
      $(this).countdown('destroy').countdown({ 
       until: randRange()/1000, 
       format: 'HMS', 
       layout: '<div id="timer">' + '<div class="timer_numbers">{hnn}:{mnn}:{snn}</div>' + '</div>', 
       onExpiry: resetTimer 
      }).fadeIn("slow"); 
     }); 
    })(); //self-execute 
}); 
+0

! 고맙습니다 :)) – lollo