【发布时间】:2011-05-03 04:19:23
【问题描述】:
我刚刚创建了一个等待所有图像的 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);
});
}
它有效,但我有一个顾虑。
如您所见,加载回调访问 options.id。 $.fn.waitAllImages 和加载回调是两个不同的函数。这是否意味着加载回调会阻止 JavaScript 车库收集器清理 options.id 变量?
【问题讨论】:
-
检查我的waitForImages 插件。
-
@alex // 哈哈,这很有趣。我有一个同事,他也叫亚历克斯。谢谢你的插件。我决定用你的。
-
让我知道它对你有用 :)
标签: javascript jquery garbage-collection scope