2017-10-26 63 views
7

okuyun. Bu mükemmel çalışıyor ama nedensejQuery/JavaScript ben count.txt okumaya denemek istiyorum görebileceğiniz gibi bu 'şey'</p> <p>ile saplanıp Nedense yerel metin dosyası

alert(code); 

Ben önce uyarısı (sayımı) arayacaktı çünkü hiç mantıklı Benim için

alert("The number can't be smaler then 0"); 

sonra geliyor alert ("sayı ...") jQuery işlevinin (uyarı) neden diğer uyarıdan sonra çağrıldığına dair herhangi bir fikir var mı?

function leftFunction() { 
    jQuery.get('count.txt', function(data) { 
     var count = data; 
     alert(count); 
    }); 
    scrolling = true; 
    if(number == 0) { 
     alert("The number can't be smaler then 0"); 
     return; 
    } 
    number--; 
    document.getElementById("myImage").src = "latest" + number + ".jpg"; 
} 
+6

. Şuna bir bakın: https://stackoverflow.com/questions/27012556/make-synchronous-function-in-javascript –

+2

['jQuery.get()'] (http://api.jquery.com/jquery.get/) Geri çağırma işlevi eşzamansız _ "İstek zaten tamamlanmışsa, geri arama hemen tetiklenir." _ – guest271314

+0

Bana yardım ettiğin için çok teşekkür ederim :) –

cevap

3

Red fx'in yorumlarda belirtildiği gibi, JavaScript'in zaman uyumsuz olmasıyla ilgilidir. artık şöyle bir şey deneyin:

function leftFunction() { 
    jQuery.get('count.txt', function(data) { 
     var count = data; 
     alert(count); 
    }).done(function() { 
     scrolling = true; 
     if (number == 0) { 
      alert("The number can't be smaler then 0"); 
      return; 
     } 
    }); 
    number--; 
    document.getElementById("myImage").src = "latest" + number + ".jpg"; 
} 

Referans: senkron/async olmanın alakalı https://api.jquery.com/jquery.get/

+0

Snippet için çok teşekkürler :) –