For some reason I got stuck with this 'thing'
As you can see I want to try to read the count.txt. This is working perfectly but for some reason the
alert(code);
is coming up after the
alert("The number can't be smaler then 0");
For me it makes no sense because I'd call the alert(count) before the alert("The number...") Any ideas why the jQuery function (alert) is called after the other alert?
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";
}
Red fx
1,0992 gold badges15 silver badges27 bronze badges
asked Oct 26, 2017 at 7:31
Florian Zaskoku
4773 silver badges14 bronze badges
1 Answer 1
As Red fx says in the comments, it's related to JavaScript being asynchronous. Try something like this instead:
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";
}
Reference: https://api.jquery.com/jquery.get/
answered Oct 26, 2017 at 7:45
user8826104
Sign up to request clarification or add additional context in comments.
1 Comment
Florian Zaskoku
Thanks alot for the snippet :)
lang-js
jQuery.get()callback function is asynchronous "If the request is already complete, the callback is fired immediately."