Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 31st, 2012  |  syntax: None  |  size: 1.79 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. JavaScript code is slow (JQuery). Is there a way to optimize it?
  2. <div id="gd_graphics">
  3.     <p id="gd_loader">Veuillez patienter!</p>
  4.     <div id="gd_graphics_grid">
  5.          <?php for($row = 0; $row < 73; $row++) : ?>
  6.          <div class="gd_grid_row">
  7.              <?php for($block = 0; $block < 130; $block++) : ?>
  8.              <div class="gd_grid_block"><div class="gd_grid_block_wrap"></div></div>
  9.             <?php endfor; ?>
  10.             <div class="gd_hidden"></div>
  11.          </div>
  12.          <?php endfor; ?>
  13.     </div>
  14. </div>
  15.        
  16. function RefreshDrag()
  17. {
  18.     $(".gd_selected_block").removeClass("gd_selected_block");
  19.  
  20.     if(startX <= endingX)
  21.     {
  22.         var minX = startX;
  23.         var maxX = endingX;
  24.     }
  25.     else
  26.     {
  27.         var minX = endingX;
  28.         var maxX = startX;
  29.     }
  30.  
  31.     if(startY <= endingY)
  32.     {
  33.         var minY = startY;
  34.         var maxY = endingY;
  35.     }
  36.     else
  37.     {
  38.         var minY = endingY;
  39.         var maxY = startY;
  40.     }
  41.  
  42.     var $row = null;
  43.     var $block = null;
  44.     var $left = null;
  45.     var $right = null;
  46.     var $this = null;
  47.     var rowIndex = null;
  48.  
  49.     $(".gd_grid_row").slice(minY, maxY+1).each(function() {
  50.         $row = $(this);
  51.         rowIndex = $row.index();
  52.  
  53.         if(rowIndex == minY || rowIndex == maxY)
  54.         {
  55.             $row.children(".gd_grid_block").slice(minX, maxX+1).find(".gd_grid_block_wrap").each(function() {
  56.                 $this = $(this);
  57.  
  58.                 $this.addClass("gd_selected_block");
  59.             });
  60.         }
  61.         else
  62.         {
  63.             $left  = $row.children(".gd_grid_block").eq(minX).find(".gd_grid_block_wrap");
  64.             $right = $row.children(".gd_grid_block").eq(maxX).find(".gd_grid_block_wrap");
  65.  
  66.             $left.addClass("gd_selected_block");
  67.  
  68.             $right.addClass("gd_selected_block");
  69.         }
  70.     });
  71.  
  72. }