gpt4 book ai didi

jquery - 创建一个 jquery 秒表,该秒表在用户焦点时开始,在焦点移出时停止并开始新的计时器

转载 作者:行者123 更新时间:2023-12-03 23:04:59 24 4
gpt4 key购买 nike

我正在构建一个简单的网络应用程序,允许用户 self 测验数学问题。用户首先选择她想要做的问题类型,然后选择她想要做的问题数量。

当用户解决问题时,我想计算完成每个问题所需的时间。这是在页面上显示问题的代码:

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) 我无法找到一种写入方法来始终选择正确的计时器 ID 传递到秒表功能中,以及 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 新手,因此任何帮助和见解将不胜感激!提前致谢。

最佳答案

Here这是我的努力

var timer_id;

$(document).ready(function() {
$('.field').focus(function() {
$(this).addClass('active_input');
timer_id = setInterval('tick()', 1000);
}).blur(function() {
$(this).removeClass('active_input');
clearTimeout(timer_id);
});
});

function tick() {
var id_n = $('.active_input').attr('id').substring(3);
var t_td = $('#timer_' + id_n);
var t = parseInt(t_td.text(), 10);
if (isNaN(t)) {
t = '1 second';
} else {
t++;
t += ' seconds'
}
t_td.text(t);
}

关于jquery - 创建一个 jquery 秒表,该秒表在用户焦点时开始,在焦点移出时停止并开始新的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6090514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com