Function to refresh the screen

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • getmeidea
    New Member
    • Feb 2007
    • 36

    Function to refresh the screen

    CODE:

    function checkAll() {
    var now = new Date();
    var chkBoxes = document.getEle mentsByName('ch kMe');

    for (var limit = 0; limit < chkBoxes.length ; limit ++) {
    while(((new Date()).getTime () - now.getTime()) < 1000) {} //Delay 1 sec.
    chkBoxes[limit].checked = true;
    }
    }

    I have so many check boxes in my screen, the above function will check the check boxes one by one with a delay of 1 second. But the changes are reflected on the screeen only after the completion of loop. I need to see the changes on time.
    What can I do for this ?
  • Logician
    New Member
    • Feb 2007
    • 210

    #2
    Originally posted by getmeidea
    CODE:

    function checkAll() {
    var now = new Date();
    var chkBoxes = document.getEle mentsByName('ch kMe');

    for (var limit = 0; limit < chkBoxes.length ; limit ++) {
    while(((new Date()).getTime () - now.getTime()) < 1000) {} //Delay 1 sec.
    chkBoxes[limit].checked = true;
    }
    }
    You need to set separate timeouts for each checkbox.
    Code:
    function checkAll(boxName)
    {
     var chkBoxes = document.getElementsByName(boxName);
    
     for (var limit = 0; limit < chkBoxes.length; limit ++) 
      setTimeout(function(t){return function(){chkBoxes[t].checked = true;}}(limit), limit*1000);
    }
    
    checkAll('chkMe');

    Comment

    Working...