Test case details

Preparation Code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"> </script> <div id="img_wrap">   <img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />   <img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />   <img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />   <img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />   <img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" /> </div> <p id="p_status">   0% </p>
var p_status = document.getElementById('p_status'),         img_wrap = document.getElementById('img_wrap'),         img = img_wrap.getElementsByTagName('img'),         img_amount = img.length,         load_each = 100 / img_amount,         Math_Round, Add_Load, jQuery_Round;         if (p_status.addEventListener) {       Math_Round = function(r) {         load_percent += load_each;         p_status.textContent = Math.round(load_percent) + "%";         r.removeEventListener('load', Math_Round, false);       };       Add_Load = function(i) {         i.addEventListener('load', Math_Round(i), false);       };       jQuery_Round = function() {         load_percent += load_each;         p_status.textContent = Math.round(load_percent) + "%";       };     } else {       Math_Round = function(r) {         load_percent += load_each;         p_status.innerText = Math.round(load_percent) + "%";         r.detachEvent('onload', Math_Round);       };       Add_Load = function(i) {         i.attachEvent('onload', Math_Round(i));       };       jQuery_Round = function() {         load_percent += load_each;         p_status.innerText = Math.round(load_percent) + "%";       };     }

Test cases

Test #1

var load_percent = 0; for (var i = 0; i < img_amount; i++) {   var cur_img = img[i];   Add_Load(cur_img); }

Test #2

var load_percent = 0; for (var i = 0; i < img_amount; i++) {   var cur_img = $(img[i]);   cur_img.one('load', jQuery_Round); }