Я нахожусь в процессе создания простого веб-приложения, которое позволяет пользователю проверять свои математические задачи. Пользователь сначала выбирает тип проблемы, которую он хотел бы сделать, а затем, сколько он хотел бы сделать.
По мере того, как пользователь преодолевает проблемы, я хотел бы узнать, сколько времени потребуется для решения каждой проблемы. Это код, который отображает проблемы на странице:
function displayMult ($i)
{
echo '<table class="basic">';
for($k=0; $k < $i; ++$k) // display problems
{
$user_response[$k] = 'user_response' . $k ;
echo '<tr>';
echo '<td>' . number_format($_SESSION['mult_one'][$k]) . '</td>';
echo '<td>'. ' x ' . '</td>';
echo '<td>' . number_format($_SESSION['mult_two'][$k]) . '</td>';
echo '<td>' . ' = <input type="text" class="field" name="user_response' . $k . '"' . 'id="u_r' . $k . '" />' . '</td>';
echo '<td id="timer_' . $k . '">test</td>';
echo '</tr>';
}
echo '</table>';
}
И это jQuery, который у меня есть, когда пользователь отвечает. У меня проблема в том, что 1) я не могу найти способ написать, чтобы всегда выбирать правильный идентификатор таймера для передачи в функцию секундомера и 2) остановить старый таймер и начать новый. Текущий код будет только время первого вопроса и затем правильно остановит таймер, когда пользователь нажимает на поле ввода для следующего вопроса.
$(document).ready(function() {
$('.field').focus(stopwatch('#timer_0'));
});
function stopwatch(container) {
var interval;
return function() {
if (interval) {
clearInterval(interval);
}
else{
var count = 0;
interval = setInterval(function() {
count++;
$(container).html(count + ' seconds');
}, 1000);
}
};
}
Я новичок в jquery, поэтому любая помощь и понимание будут с благодарностью! Заранее спасибо.