我无法真正找到这个问题的答案。如果已经被问过,我很抱歉。
jQuery中是否有一种方法可以检查变量或条件是否在一段时间内为真,例如秒,五秒或类似的时间段,并根据变量为真的时间唤起函数。 类似于function1,如果<1秒,则function2如果&lt; 5秒,则函数3如果&lt; 5秒。 我可以想象一个解决方案的唯一方法是创建一个循环并在变量为false时停止它。
编辑:对不起,我问得这么不清楚。问题是如何用jQuery测量一个变量为true或false的时间。答案 0 :(得分:1)
如果您将问题改为:
检测变量的设置时间
然后您可以使用new Date().getTime()
来获取值更改时的滴答数,然后使用var t = null;
function start() { t = new Date().getTime(); }
function stop() { t = (new Date().getTime()) - t; }
start();
setTimeout(function() { stop(); }, 1250);
来更改返回值(Date()上的其他函数可用,例如获取秒数或毫秒数)。 / p>
例如:
t
在条件发生变化时设置/重置/检查null
。
您可以通过检查var t = null;
function action() {
if (t == null)
{
t = new Date().getTime();
} else {
t = (new Date().getTime()) - t;
// do something
onValueChange(t);
}
}
action();
setTimeout(function() { action(); }, 1250);
来检查它是否已经开始,将上述两个开始/停止结合起来,例如:
mousedown
例如,在javascript / jquery中,使用HTML按钮,您可以记录mouseup
并在var t = null;
$("#btn")
.on("mousedown", function() {
t = new Date().getTime(); // current ticks
}).on("mouseup", function() {
t = new Date().getTime() - t; // delta ticks (could use seconds or milliseconds)
// Do something with t
$("#result").text("You pressed for " + t + " ticks.");
});
时进行比较以查看按下按钮的时间,例如:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id='btn'>press me</button>
<div id='result'></div>
&#13;
$("#txtAppt_Date").kendoDateTimePicker({
format: 'ddd M/d/yyyy h:mm tt',
min: new Date(2017, 0, 1, 9, 0, 0)
});
&#13;