2016-11-12 5 views
-1

Ich möchte Erfolgsmeldung für 5 Sekunden angezeigt wird es "Warte" Nachricht anzeigen, aber es zeigt nicht "gesendet" Nachricht. Ich habe viel versucht, aber ich habe versagt. kannst du mir bitte helfen? Warum wird meine gesendete Nachricht nicht angezeigt?jquery setTimeout Funktion funktioniert nicht

meine Timeout-Funktion funktioniert, aber es Ausführen verstecken 'Laden' Zeile vor dem Beenden der SetTimeout-Funktion. HTML-Code:

<div class="loading" style="display:none"> 
<h3 style="color:#000;font-size:24px;width:500px"><span id="wait">Please wait...</span><span id="sent" style="display:none">E-mail is sent</span><span id="error" style="display:none">Sorry Please try again</span></h3> 
    <div class="l_main"> 
    <div class="circle"></div> 
    <div class="quater"> 
     <span class="top"></span> 
     <span class="bottom"></span> 
    </div> 
    </div> 
</div> 

jQuery-Code:

$('.loading').show(); 
    $("#wait").show(); 
    $.post(base_url+"index.php/myad/getphonenumber",{uniqueid:id,emailaddress:cemail},function(){ 
    $("#wait").hide(); 
    $("#sent").show(); 
    setTimeout(function(){ 
     $("#sent").hide() 
    }, 5000); 
    $('.loading').hide(); 
    }) 
+2

Ihre HTML-Code ?? –

+0

Was ist das Problem, das Sie in der Konsole sehen? – brk

+0

Wenn Ihre Postanforderung fehlschlägt, ist es möglich, dass sie die Funktion nicht aufruft. Sie können 'console.log' verwenden, um dies schnell zu überprüfen. Schauen Sie auch in den Netzwerkwerkzeugen nach, um den Status der Anfrage zu sehen. –

Antwort

1
$('.loading').show(); 
    $("#wait").show(); 
    $.post(base_url+"index.php/myad/getphonenumber",{uniqueid:id,emailaddress:cemail},function(){ 
    $("#wait").hide(); 
    $("#sent").show(); 
    setTimeout(function(){ 
     $("#sent").hide(); 
     $('.loading').hide() 
    }, 5000); 
    }) 
+1

Es ist nicht notwendig, '$ (" # send ") aufzurufen. hide()', '# sent' ist ein Kindknoten von' .loading' – guest271314

Verwandte Themen