2015-09-07 10 views
0

У меня есть таблица со многими строками (около 50 - 100 в конце), и каждая строка имеет разный тайм-аут. Я хочу, когда я нажимаю на первую кнопку (ссылку) обратный отсчет начала первой строки, если на второй строке - второй обратный отсчет.Показать таймер обратного отсчета после нажатия кнопки

После завершения отсчета будет отображаться любое слово вместо таймера.

Вот два exmeple линий:

<tr> 
     <td><form action="http://www.google.fr"><input type="submit" formtarget="_blank" value="Google 3 seconds"></form> 
     </td> 
     <td>00:00:03</td> 
</tr> 
<tr> 
     <td><form action="http://www.google.fr"><input type="submit" formtarget="_blank" value="Google 2h30mins"></form> 
     </td> 
     <td>02:30:00</td> 
</tr> 

Для JS я нашел это здесь: http://jsfiddle.net/6nDYd/10/

Любой человек может помочь мне создать сценарий Js со ссылкой я предоставить?

+0

Там не актуальный вопрос здесь. Начните с того, что ** вы ** написали, а затем спросите о вещах, которые вы не можете получить (т. Е. [* Минимальный, полный и проверяемый пример *] (http://stackoverflow.com/help/mcve)). – RobG

+0

вот скрипка, которую я сделал некоторое время назад. это может помочь вам http://jsfiddle.net/RachGal/r5h0Lec9/ –

ответ

1

Попробуйте это:

реф от SO

function toTimeString(seconds) { 
 
    return (new Date(seconds * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0]; 
 
} 
 

 
function startTimer() { 
 
    var nextElem = $(this).parents('td').next(); 
 
    var duration = nextElem.text(); 
 
    var a = duration.split(':'); 
 
    var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]); 
 
    setInterval(function() { 
 
    seconds--; 
 
    if (seconds >= 0) { 
 
     nextElem.html(toTimeString(seconds)); 
 
    } 
 
    if (seconds === 0) { 
 
     alert('sorry, out of time'); 
 
     clearInterval(seconds); 
 
    } 
 
    }, 1000); 
 
} 
 
$('.btn').on('click', startTimer);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> 
 
     <form action="http://www.google.fr"> 
 
     <input class="btn" type="button" formtarget="_blank" value="Google 3 seconds"> 
 
     </form> 
 
    </td> 
 
    <td>00:00:03</td> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <form action="http://www.google.fr"> 
 
     <input class="btn" type="button" formtarget="_blank" value="Google 2h30mins"> 
 
     </form> 
 
    </td> 
 
    <td>02:30:00</td> 
 
    </tr> 
 
</table>

+0

эта скрипка в его вопросе –

+0

@RachelGallen, в моем ответе нет никакой скрипки. Он просит несколько таймеров, которые реализованы в моем сообщении. Не так ли? – Rayon

+0

Нет, он просит текст, который будет отображаться, и ваш код точно соответствует указанному адресу. –

1

Как продолжить таймер после браузера обновляется и закрывается?

function toTimeString(seconds) { 
 
    return (new Date(seconds * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0]; 
 
} 
 

 
function startTimer() { 
 
    var nextElem = $(this).parents('td').next(); 
 
    var duration = nextElem.text(); 
 
    var a = duration.split(':'); 
 
    var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]); 
 
    setInterval(function() { 
 
    seconds--; 
 
    if (seconds >= 0) { 
 
     nextElem.html(toTimeString(seconds)); 
 
    } 
 
    if (seconds === 0) { 
 
     alert('sorry, out of time'); 
 
     clearInterval(seconds); 
 
    } 
 
    }, 1000); 
 
} 
 
$('.btn').on('click', startTimer);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> 
 
     <form action="http://www.google.fr"> 
 
     <input class="btn" type="button" formtarget="_blank" value="Google 3 seconds"> 
 
     </form> 
 
    </td> 
 
    <td>00:00:03</td> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <form action="http://www.google.fr"> 
 
     <input class="btn" type="button" formtarget="_blank" value="Google 2h30mins"> 
 
     </form> 
 
    </td> 
 
    <td>02:30:00</td> 
 
    </tr> 
 
</table>