Я только что создал плагин javscript, который ждет всех изображений. Ниже приведен мой текущий исходный код.
$.fn.waitAllImages = function(options){
var defaults = {
speed: 900
}
var options = $.extend(defaults,options);
var preloader = $("<div/>");
preloader.addClass('moonsPreloader');
preloader.attr("id",options.id+"-preloader");
var hideWrapper = $("<div/>");
hideWrapper.attr("id",options.id+"-hide-wrapper");
hideWrapper.css("display","none");
$(this).wrapAll(hideWrapper);
$("body").append(preloader);
$(window).bind('load',function(){
$("#"+options.id+"-preloader").remove();
$("#"+options.id+"-hide-wrapper").eq(0).fadeIn(options.speed);
});
}
Это работает, но меня беспокоит.
Как видите, загрузить callback access options.id. $.fn.waitAllImages
и обратный вызов загрузки - две разные функции. Означает ли это, что обратный вызов load не позволяет гаражному сборщику javascript очистить переменную options.id?