Кнопка с обратным отсчетом
Здравствуйте...
Пожалуйста помогите. Нужна кнопка с таймером обратного отсчета. Хочу сделать кнопку с редиректом на другой сайт (_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, время: 01:45. |