我正在制作一个loginscript,并希望添加一个"功能",即在他们提交表单后,我希望它等待1-2秒,直到它登录。
我试图让它工作,但加载只是闪烁,不要延迟,因为我想要的。参见下面的jquery:
$(document).on({
ajaxStart: function() { $body.addClass("loading"); },
ajaxStop: function() { $body.removeClass("loading"); }
});
$(document).ready(function() {
$('#login').click(function()
{
var my_delay = 2000;
var username=$("#username").val();
var password=$("#password").val();
var dataString = 'username='+username+'&password='+password;
if($.trim(username).length>0 && $.trim(password).length>0)
{
$.ajax({
type: "POST",
url: "ajaxLogin.php",
data: dataString,
cache: false,
beforeSend: function(){
$("#login").val('Connecting...');},
success: function(data){
if(data)
{
$("body").addClass("loading").delay(6000); // <-- This I want to show 2 seconds before or meanwhile it loads home.php
$("body").load("home.php").hide().fadeIn(1500);
}
else
{
$('#box').shake();
$("#login").val('Login')
$("#error").html("<span style='color:#cc0000'>Fel:</span> Felaktigt anv eller lös. ");
}
}
});
}
return false;
});
我试过这个,但它只是使加载停留,并没有重定向到home.php后3000ms。
$("body").setTimeout("load('home.php');", 300);
$('body').delay(2000).queue(function( nxt ) {
$(this).load('home.php');
nxt();
});