Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery/JavaScript read a local text file

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";
}
like image 612
Florian Zaskoku Avatar asked Oct 26 '17 07:10

Florian Zaskoku


1 Answers

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/

like image 180
Edward Avatar answered Oct 08 '22 21:10

Edward