2013-02-22 72 views
2

我在使用這個JS/Jquery腳本時遇到了一些麻煩,它昨天完全運行,但今天它只是不能正常工作。Img不會淡出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" /> 
... 

(所有的標籤都完全關閉)

這是什麼設爲#加載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); 
      } 
     }); 
    } 
} 

很抱歉,如果這是一些愚蠢的,但我可以計算出來什麼是錯的。

+0

是否有任何錯誤控制檯? – 2013-02-22 12:13:23

+0

即時通訊使用Phonegap項目,它不會顯示任何控制檯=/ – ghaschel 2013-02-22 12:15:52

+0

請,SSCCE。它似乎沒有進入任何if/else塊,因此它永遠不會消失。 – TheBronx 2013-02-22 12:19:38

回答

1

檢查這是否會幫助你,使用

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

代替

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

+0

解決我的問題,謝謝=) – ghaschel 2013-02-22 13:46:36

+0

歡迎你! – Ryxle 2013-02-22 14:00:33

1

當我在您的小提琴中禁用CryptoJS時,淡出效果正常。

順便說一下,login-form div在開始時不會淡入。我建議你使用

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

禁用CryptoJS沒做什麼在這裏,但USINT'.stop();'解決了我的問題。不管怎樣,謝謝你。 – ghaschel 2013-02-22 13:46:20