1

我试图弄清楚如何设置时间,当用户将鼠标悬停在提交按钮上时,表单将被提交(2 秒)。

$(document).ready(function(){
  $("#submit95").hover(function(){
    var form95 = $("#form_sub_category_id95");
    $("#form_sub_category_id95").ajaxSubmit({
      target: "#output110",
      data: form95.serialize(),
      success: function (data) {
        $("#product_default110").hide();
        $("#output110").html(data);
      }
    });
  });
});
4

5 回答 5

2
$(document).ready(function(){
    $("#submit95").hover(function(){ 
        timer = setTimeout(function(){
        var form95 = $("#form_sub_category_id95");
        $("#form_sub_category_id95").ajaxSubmit( {
           target: "#output110", 
           data: form95.serialize(),
           success: function (data) {
                    $("#product_default110").hide();
                    $("#output110").html(data);     
                }
        });
        },2000);
    },function(){
        clearTimeout(timer); //when mouseout stop 
    });
});
于 2013-06-06T06:20:05.230 回答
1

您可以setTimeOut()为此使用:

setTimeout() 方法在指定的毫秒数后调用函数或计算表达式。

将此代码写入另一个函数

function callAfterSomeTime() {
  var form95 = $("#form_sub_category_id95");
  $("#form_sub_category_id95").ajaxSubmit({
    target: "#output110",
    data: form95.serialize(),
    success: function (data) {
      $("#product_default110").hide();
      $("#output110").html(data);
    }
  });
}
于 2013-06-06T06:16:19.950 回答
1

尝试这个

$(document).ready(function(){
        $("#submit95").hover(function(){ 
            setTimeout(function(){
            var form95 = $("#form_sub_category_id95");
            $("#form_sub_category_id95").ajaxSubmit( {
               target: "#output110", 
               data: form95.serialize(),
               success: function (data) {
                        $("#product_default110").hide();
                        $("#output110").html(data);     
                    }
            });
            },2000);
        });
    });
于 2013-06-06T06:18:11.947 回答
0

执行以下操作:

$(document).ready(function() {
  $("#submit95").hover(function() {
    setTimeout(doSubmit, 2000);
  }
);

function doSubmit() {
  var form95 = $("#form_sub_category_id95");
  $("#form_sub_category_id95").ajaxSubmit( {
     target: "#output110", 
     data: form95.serialize(),
     success: function (data) {
              $("#product_default110").hide();
              $("#output110").html(data);     
          }
     });
  });
}
于 2013-06-06T06:19:17.450 回答
0

使用超时延迟提交并在 mouseleave 上取消它:

$('form').hover(function(){
     $(this).data('t', setTimeout(submitFn, 2000));
}, function(){
     clearTimeout($(this).data('t'));
});
于 2013-06-06T06:23:59.820 回答