我有一个表单,其中 JQuery 根据不同字段的要求触发错误消息。我希望消息根据需要在每个字段旁边弹出,并且我希望每个消息都淡入,有 3 秒超时,然后淡出。
但我想知道:有没有办法让一个对象或数组存储所有超时?基本上,所有错误当前都在对超时的相同引用中运行。因此,如果一个输入触发错误,而另一个输入在 1 秒后触发错误,则第二条消息会在 2 秒(而不是 3 秒)内消失,因为它都指的是一个超时变量,而第一次触发设置了初始计时器。
这是针对订单的,因此 Product 指的Div 'product'
是触发错误的输入的父级。
我有这样的事情:
function error_check_number(input)
{
var intRegex = /^\d+$/;
var product = jQuery(input).closest('div.product');
if (!intRegex.test(input.val()) && input.val() != '')
{
input.val('0');
if (jQuery('div.error-message', product).length <= 0)
{
var error = jQuery("<div class='error-message'>Number Values Only</div>").hide();
error.appendTo(jQuery(product)).slideDown("fast");
}
var thetime = setTimeout(function(){
jQuery("div.error-message", product).slideUp("fast", function () {
jQuery("div.error-message").remove();
});
}, 3000);
}
else
{
clearTimeout(thetime);
jQuery("div.error-message", product).slideUp("fast", function () {
jQuery("div.error-message", product).remove();
});
}
}
就超时而言,我希望每次调用错误消息都彼此独立运行。