javascript setTimeout function out of scope.

Posted by Keyo on Stack Overflow See other posts from Stack Overflow or by Keyo
Published on 2010-05-28T00:34:58Z Indexed on 2010/05/28 0:41 UTC
Read the original article Hit count: 342

Filed under:
|

I am trying to call showUpload(); from within two setTimeouts. Neither works. It seems to be out of scope and I'm not sure why. I tried this.showUpload() which didn't work either.

 $(document).ready(function(){
            var progress_key = $('#progress_key').val();

            // this sets up the progress bar
            $('#uploadform').submit(function() {
               setTimeout("showUpload()",1500);
               $("#progressbar").progressbar({ value:0}).fadeIn();
            });


            // uses ajax to poll the uploadprogress.php page with the id
            // deserializes the json string, and computes the percentage (integer)
            // update the jQuery progress bar
            // sets a timer for the next poll in 750ms
            function showUpload() {
                $.get("/myid/videos/uploadprogress/" + progress_key, function(data) {
                    if (!data)
                        return;

                    var response;
                    eval ("response = " + data);

                    if (!response)
                        return;

                    var percentage = Math.floor(100 * parseInt(response['bytes_uploaded']) / parseInt(response['bytes_total']));
                    $("#progressbar").progressbar({ value:percentage})

                });
                setTimeout("showUpload()", 750);
            }
        });

Thank you for your time.

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery