What I'm trying to do is on click of a div spawn a
"timer" (setTimeout) which will run while the user is on the page, on
completion of the countedown of setTimeout, load a function to do a
submit. However in my testing the following code does not wait, and
submits the page event right away. Basically I want to be able to que
up the click events and then process them during an idle few seconds.

Check out my code below maybe you can help!

        <script type="text/javascript">
var pixelid = new Array();
var pixelcolors = new Array();
var processTimerId = 0;
var counter = 0;
\$('#result').click(function(e) {
        if ( \$(e.target).is('.btn px') )
        {
                var color = \$("input#color_code").val();
                \$(this).css({ backgroundColor:color });
                var id_select = \$(e.target).parent('div').attr('id');

                pixelid[counter] = id_select;
                pixelcolors[counter] = color;

                if (counter == 0)
                {
                        //They have not clicked before, so we are ready to 
start the
process timer
                        processTimerId = setTimeout (process_pixels(), 4000);
                }
                else
                {
                        //They have clicked before, but apparently they clicked 
again, stop
the timer and we will restart it.
                        clearTimeout( processTimerId );
                        processTimerId = setTimeout (process_pixels(), 4000);
                }
                counter++;

        }
});

function process_pixels(){

        var process_counter = 0;

        while (process_counter <= counter)
        {
                \$("#result").load('/px_creator.pl', {colorselect: pixelcolors
[process_counter], id_select: pixelid[process_counter]});
                process_counter++;
        }
}
        </script>

Example: http://pixelated.hertzelle.com/draw.pl

Can anyone tell me why my timer process doesnt work as I would want it
to? I still have more work to go...But this has me a bit stuck. Any
help would make me very happy, thanks!

Reply via email to