我不会淡出jQuery

时间:2013-02-22 12:11:26

标签: javascript jquery html css

我在使用这个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);
            }
        });
    }
}

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

2 个答案:

答案 0 :(得分:1)

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

顺便说一句,login-form div在开始时不会淡入。我建议你使用

$(document).ready(function() {
    pisca.telalogin();
});

答案 1 :(得分:1)

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

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

而不是

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