Кнопка с обратным отсчетом
Здравствуйте...
Пожалуйста помогите. Нужна кнопка с таймером обратного отсчета. Хочу сделать кнопку с редиректом на другой сайт (_blanck). После нажатия должна пойти обратный отсвет, скажем 5ть минут. В течение этого времени кнопка будет неактивна. Истечением этого времени кнопка станет активно и можно будет нажать на нее снова и перейти на тот сайт (_blanck), а таймер заново включиться p.s. есть один маленький нюанс. при начальном открытие страницы кнопка должна быть активна... после первого нажатия должен начаться отсчет и по кругу. Можно такое реализовать? Нашел несколько кодов с кнопками обратного отсчета, но все не то. Очень надеюсь что тут поможете. Буду весьма благодарен... Заранее спасибо всем... |
Если я правильно понял:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS Bin</title> </head> <body> <button>Button</button> <script> var button = document.getElementsByTagName('button')[0]; button.addEventListener('click', function() { window.open('http://ya.ru', '_blank'); this.setAttribute('disabled', 'true'); setTimeout(function() { button.removeAttribute('disabled'); }, 5000); }); </script> </body> </html> |
решение подсказали на другом форуме
<script type="text/javascript"> var W; function BitcoinFunc1 () { var o = document.getElementById ('BitcoinBtn1'); o.disabled = 1; o.value = 'Wait 60m.'; W = window.open ('http://yandex.ru', '_blank'); myTimer (); function myTimer () { var w = o.value.split ('Wait ') [1], t = 60 * parseInt (w) - 1 + ((w.indexOf ('m. ') != -1) ? parseInt (w.split ('m. ') [1]) : 0), m = Math.floor (t / 60); s = t % 60; if (t) {o.value = 'Wait ' + m + 'm.' + (s ? (' ' + s + 's.') : ''); setTimeout (myTimer, 800)} else {o.value = 'Start'; o.disabled = 0; if (!W.closed) W.close ()} } } </script> <input class="btn btn-large" type="button" id="BitcoinBtn1" value="Start" onclick="BitcoinFunc1()"> только возникла маленькая неполадка. таймер не правильно считает, в минуту бежит вперед на 10ть сек. может поможете подправить? |
Часовой пояс GMT +3, время: 15:21. |