34 lines
723 B
JavaScript
34 lines
723 B
JavaScript
/*
|
|
* jQuery plugin that waits until all elements are loaded before executing the specified function.
|
|
*
|
|
* Adapted from http://stackoverflow.com/a/35777807/592820.
|
|
*
|
|
* Example:
|
|
*
|
|
* $('iframe').allLoaded(function () {
|
|
* window.alert('All iframes loaded!');
|
|
* });
|
|
*
|
|
*/
|
|
|
|
;(function ($) {
|
|
'use strict';
|
|
|
|
$.fn.extend({
|
|
allLoaded: function (fn) {
|
|
var $elems = this;
|
|
var waiting = this.length;
|
|
|
|
var handler = function () {
|
|
--waiting;
|
|
if (!waiting) {
|
|
fn.call(window);
|
|
}
|
|
this.unbind(handler);
|
|
};
|
|
|
|
return $elems.load(handler);
|
|
}
|
|
});
|
|
})(jQuery);
|