在setInterval中向下滑动后的jquery焦点会不断重复帮助

在setInterval中向下滑动后的jquery焦点会不断重复帮助,jquery,focus,setinterval,Jquery,Focus,Setinterval,单击此处查看示例 现在,当您单击CreateCount时,会出现一个带有jquery的幻灯片动画,然后第一个输入字段会聚焦 $("#openc").click(function(){ $("#close-top").slideUp(450); $("#openc").hide(); setInterval(function() { $("#open-me").slideDown(); $("#regkey").

单击此处查看示例

现在,当您单击CreateCount时,会出现一个带有jquery的幻灯片动画,然后第一个输入字段会聚焦

$("#openc").click(function(){
    $("#close-top").slideUp(450);
    $("#openc").hide();

    setInterval(function() {             
        $("#open-me").slideDown();
        $("#regkey").focus();
        $("#closec").show();
    }, 1000);

});
我遇到的问题是,当我试图将注意力集中在另一个输入字段以输入信息时,焦点会跳回到第一个输入字段(我猜setInterval有问题)

任何帮助都会事先得到通知。 谢谢 -O

编辑:

这起作用了,谢谢…下面也起作用了

$("#openc").click(function(){
    $("#close-top").slideUp(450);
    $("#openc").hide();

    setTimeout(function() {          
        $("#open-me").slideDown();
        $("#regkey").focus();
        $("#closec").show();
    }, 1000);

});

我想您是想使用setTimeout而不是setInterval;它每秒都在持续运行循环,这就是导致焦点跳回第一个输入框的原因

如果希望动画在slideUp动画完成后发生,请使用slideUp方法的回调参数,而不是依赖setTimeout

例如:

$("#openc").click(function(){
    $("#close-top").slideUp(450,function() {             
        $("#open-me").slideDown();
        $("#regkey").focus();
        $("#closec").show();
    });
    $("#openc").hide();
});

我想您是想使用setTimeout而不是setInterval;它每秒都在持续运行循环,这就是导致焦点跳回第一个输入框的原因

如果希望动画在slideUp动画完成后发生,请使用slideUp方法的回调参数,而不是依赖setTimeout

例如:

$("#openc").click(function(){
    $("#close-top").slideUp(450,function() {             
        $("#open-me").slideDown();
        $("#regkey").focus();
        $("#closec").show();
    });
    $("#openc").hide();
});

始终聚焦到第一个输入bcoz u设置聚焦第一个输入的id(
regkey

 $("#regkey").focus();
相反,要将注意力集中在下一个输入上,您应该使用下面的逻辑

$("input").change(function() {
  var inputs = $(this).closest('form').find(':input');
  inputs.eq( inputs.index(this)+ 1 ).focus();
});

始终聚焦到第一个输入bcoz u设置聚焦第一个输入的id(
regkey

 $("#regkey").focus();
相反,要将注意力集中在下一个输入上,您应该使用下面的逻辑

$("input").change(function() {
  var inputs = $(this).closest('form').find(':input');
  inputs.eq( inputs.index(this)+ 1 ).focus();
});

帮助链接:帮助链接:如果我的帖子帮助了你,请将其标记为正确,以便其他搜索类似内容的人可以轻松找到它!如果我的帖子帮助了你,请将其标记为正确,以便其他搜索类似内容的人可以轻松找到它!