2011-05-20 30 views
1

點擊查看例如 http://www.messtudios.com/form/jQuery的焦點了slideDown中的setInterval後一直在這裏重複的幫助

現在,當你點擊創建帳戶 - 有與jQuery一個幻燈片動畫,然後將第一個輸入字段的重點。

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

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

}); 

我遇到的問題是,當我試圖專注於其他輸入字段中輸入信息,焦點跳回到第一個輸入字段(我猜它的一些錯誤的setInterval

任何幫助將提前appriciated 感謝, -O

編輯:

這個工作的感謝......還有下面的工作

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

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

}); 
+0

如果我的文章幫助你,請將它標記爲正確,所以可以很容易地找到其他人尋找類似的東西! – Daniel 2011-05-20 17:03:46

回答

1

我想你的意思是使用setTimeout而不是setInterval;它每秒都會持續運行該循環,這會導致焦點跳回第一個輸入框。

如果您希望動畫在slideUp動畫完成後發生,請使用slideUp方法的回調參數,而不是依賴setTimeout。

例如:

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

重點alwayz先輸入bcoz u盤首先輸入的ID(regkey)焦點

$("#regkey").focus(); 

而不是重點在未來,你應該使用輸入邏輯下面

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

幫助鏈接:http://jqueryminute.com/set-focus-to-the-next-input-field-with-jquery/ – diEcho 2011-05-20 04:59:50