2

我在使用这个 JS / Jquery 脚本时遇到了一些问题,昨天它完全可以工作,但是今天,它就不能正常工作了。

加载.gif淡入,但不会淡出...

这是我的 HTML

...
 <div class="banner">
    <img src="img/selosiade.png"/><br />
    <form>
        <input id="username" class="login" type="text" name="username" autocapitalize="off" placeholder="Nome de Usu&aacute;rio"><br />
        <input id="password" class="login" type="password"  name"password" autocapitalize="off" placeholder="Senha"><br />
        <input type="button" value="Login" onClick="login.db();">
        <img id="loading" src="img/loading.gif" />
...

(所有标签都正确关闭)

这是设置为#loading id 的内容。

#loading{
    display:none;
    z-index:999;
    margin-top:5px;
    margin-left:50px;
    position:absolute;
}

这是login.db()脚本:

var login = {
    db: function () {
        $('#loading').fadeIn(800, function () {

            if (($('#username').val().length === 0) && ($('#password').val().length === 0)) {
                $('#user_pass_vazio').fadeIn(800).delay(800).fadeOut(800);
                $('#loading').delay(800).fadeOut(800);
            } else if ($('#username').val().length === 0) {
                $('#user_vazio').fadeIn(800).delay(800).fadeOut(800);
                $('#loading').delay(800).fadeOut(800);
            } else if ($('#password').val().length === 0) {
                $('#pass_vazio').fadeIn(800).delay(800).fadeOut(800);
                $('#loading').delay(800).fadeOut(800);
            }

            var pass1 = $('#password').val();
            var pass = CryptoJS.SHA1(pass1);
            var user = $('#username').val();

            var flag = false;
            $.ajax({
                url: "http://apt-ghaschel.webatu.com/php/check.php",
                type: "POST",
                async: false,
                data: {
                    user: user,
                    pass: pass
                },
                success: function (msg) {
                    var b = msg.match(/^.*$/m)[0];
                    $('#store').text(b);
                    flag = true;
                }
            });

            if (flag) {
                return;
            }

            b = $('#store').text();
            if (b == '1') {
                $('#login_certo').fadeIn(800).delay(800).fadeOut(800, function () {
                    $('div.banner').fadeOut(800, function () {
                        var encrypted = CryptoJS.AES.encrypt(pass, a);
                        $.cookie('username', user, {
                            expires: 365
                        });
                        $.cookie('username', encrypted, {
                            expires: 365
                        });
                        window.open("unidades.html?username=" + user + "");
                    });
                });
            } else if (b == '2') {
                $('#login_errado').fadeIn(800).delay(800).fadeOut(800, function () {});
            } else {
                $('#erro_desconhecido').fadeIn(800).delay(800).fadeOut(800);
            }
        });
    }
}

抱歉,如果这很愚蠢,但我可以弄清楚出了什么问题。

4

2 回答 2

1

当我在你的小提琴中禁用CryptoJS时,淡出工作正常。

顺便说一句,登录表单 div 在开始时不会淡入。我建议你使用

$(document).ready(function() {
    pisca.telalogin();
});
于 2013-02-22T13:29:54.430 回答
1

检查这是否对您有帮助,使用

$("#loading").stop().fadeOut(800);

代替

$("#loading").delay(800).fadeOut(800);

于 2013-02-22T13:32:34.160 回答