Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:submit上的动画有一半时间有效,另一半时间重定向到jQuery.min.js?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jQuery:submit上的动画有一半时间有效,另一半时间重定向到jQuery.min.js?

Javascript jQuery:submit上的动画有一半时间有效,另一半时间重定向到jQuery.min.js?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个带有一些样式的基本登录页面,您将在示例中看到。最后,有一个jQuery脚本在加载下一页时制作1500毫秒的动画 我遇到了一个奇怪的错误,大约50%的时间,它会制作动画并加载下一个页面-但剩余的大约50%,它只会路由到/static/jquery.min.js文件并在浏览器中打开它(使用给定的URL路径)。我不是jQuery鲨鱼。有什么好处 示例代码,一个login.html文件: <!DOCTYPE html> <html xmlns="http://www.w3.or

我有一个带有一些样式的基本登录页面,您将在示例中看到。最后,有一个jQuery脚本在加载下一页时制作1500毫秒的动画

我遇到了一个奇怪的错误,大约50%的时间,它会制作动画并加载下一个页面-但剩余的大约50%,它只会路由到/static/jquery.min.js文件并在浏览器中打开它(使用给定的URL路径)。我不是jQuery鲨鱼。有什么好处

示例代码,一个login.html文件:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src='static/jquery.min.js'></script>
    <link rel="shortcut icon" type="image/png" href="static/images/favicon.png"/>
    <link rel="shortcut icon" type="image/png" href="static/images/bg.jpg"/>
    <meta charset="UTF-8">
    <title>Title!</title>
    <style>
      // Lots of css for the login form
    </style>


</head>
<body>
<div class="login">
    <header class="login-header"><span class="text"><h4>Title!</h4></span><span class="loader"></span></header>
    <form class="login-form" id="log-inform" action="/loginp" method="post">
        <label><input class="login-input" type="text" name="username"/><h3>user</h3></label>
        <label><input class="login-input" type="password" name="password"/><h3>password</h3></label>
        <button class="login-btn" type="submit">login</button>
    </form>
</div>
<script>
    // jQuery function for animation after successful login
    $('.login-input').on('focus', function() {
        $('.login').addClass('focused');
    });

    function doOnSubmit(e) {
        e.preventDefault();
        $('.login').removeClass('focused').addClass('loading');
        setTimeout(function(){
            $('.login-form').submit();
        },1500); // time in ms to do animation whilst loading the next page
        $('.login').unbind('submit', doOnSubmit);
    }
    $('.login').on('submit', doOnSubmit);
</script>

</body>
</html>

标题
//登录表单有很多css
标题
用户
密码
登录
//成功登录后用于动画的jQuery函数
$('.login input')。在('focus',function()上{
$('.login').addClass('focused');
});
功能提交(e){
e、 预防默认值();
$('.login').removeClass('focused').addClass('loading');
setTimeout(函数(){
$('.login form').submit();
},1500);//加载下一页时制作动画的时间(毫秒)
$('.login').unbind('submit',doOnSubmit');
}
$('.login')。在('submit',doOnSubmit');
正如所说的,它在大约一半的时间里完全按照预期工作。但是为什么它会在一半的时间里重定向到另一半呢?它只是在浏览器上打开它

编辑:我想我把范围缩小了一点。第一次,它会打开jquery.min.js——第二次,我可以登录。那么它一定与加载jquery.min.js有关


第二次编辑:可以关闭。它与此代码无关,而是从Java后端加载文件的权限。很抱歉

没有看到任何可能会导致您描述的错误,但是您应该将submit事件附加到表单元素,而不是div,因为submit事件我在测试后编辑了一些信息。这只是第一次。这就好像它需要“打开”它来加载jquery,然后如果我再次尝试提交,动画就会工作。这很奇怪。你能详细说明一下吗?我不熟悉这里的术语。什么时候出现问题?页面加载?集中提交?可能您需要将代码包装在$(document)中。就绪(…):@mvermand不需要,因为脚本标记位于正文的末尾。如果这只是一个例子,那么在真实的程序中可能不是这样吗?