加载并确认加载所有资产、脚本html/jquery
我是javascript新手,我对加载和确认加载有疑问 在允许游戏继续之前,对所有资产、脚本等进行备份。 基本上,如何知道何时加载所有资产和脚本 这似乎是一个微不足道的问题,但我已经问了几个 程序员,似乎没有人有一个明确的答案 我有一个html页面加载的资产-即PNG等所有指定的视觉css- 没有任何指定的行 我还有许多自定义javascript类,包括jquery、loading等 我目前正在使用它来确认页面加载- 当页面加载功能运行时,内容变得可见。 页面上有一个小的加载微调器被删除 我正在使用jQuery标准加载脚本--加载并确认加载所有资产、脚本html/jquery,jquery,html,loading,Jquery,Html,Loading,我是javascript新手,我对加载和确认加载有疑问 在允许游戏继续之前,对所有资产、脚本等进行备份。 基本上,如何知道何时加载所有资产和脚本 这似乎是一个微不足道的问题,但我已经问了几个 程序员,似乎没有人有一个明确的答案 我有一个html页面加载的资产-即PNG等所有指定的视觉css- 没有任何指定的行 我还有许多自定义javascript类,包括jquery、loading等 我目前正在使用它来确认页面加载- 当页面加载功能运行时,内容变得可见。 页面上有一个小的加载微调器被删除 我正在
$(document).ready(function()
//Javascript jQuery的东西。。。。
函数doAfterPageLoad()
{
$(“#加载图标”).css(“可见性”、“隐藏”);
$(“#内容”).css(“可见性”、“可见”);
}
$(文档).ready(函数()
{
//开始使用javascript
});
我的问题-这是同步吗?(我处于快速连接状态,无法判断)是否有可能出现故障-
当两个“加载”都完成时,我是否应该设置一个变量和计数,并使用它来开始游戏?
而且,如果我选择通过javascript加载程序加载一些png资产文件,是否应该提供触发加载完成所需的第三个变量/值?您的想法是正确的。将所有DOM就绪相关项放入:
$(document).ready(function()
{
// start javascript stuff
});
正如您所说,这是允许html在允许javascript执行之前首先在页面上呈现。jQuery提供了
load()
函数,因此不是$(文档)。准备好了吗
$(window).load(function()
{
// start javascript stuff
});
当所有的资产都被加载时,它就会启动我发现最好的解决方案就是使用requirejs
简而言之,它解决了这个问题,允许您在需要时加载脚本,并知道它们已加载。它使应用程序更快,因为您只在需要时加载脚本
基本语法是:
require(
["jquery","module"], // these are your dependancies
function($,module){ // this is what you want to do after your deps have been loaded
// do stuff
});
在requirejs中,每个依赖模块都在自己的文件中定义。
您的模块包装在define()函数中,以允许requirejs提取它:
define(
["jquery"], // these are your dependancies
function($){ // this is what you want to do after your deps have been loaded
var module= {
// my widget definition
};
return module;
});
出于好奇,使用这种方法比$(document).ready有什么好处?@ramzyo巨大的差异-$(document).ready
在DOM准备就绪时触发,$(窗口).load
等待加载的所有资产(图像、多媒体、flash电影等)所以,所有的脚本和JQuery都已经准备好并加载了?还有一件事我不明白——加载的DOM与加载的DOM和所有资产相比——当只加载DOM而不加载所有资产时到底发生了什么?这似乎是ie document.ready(函数)中一直使用的一种常用方法。将DOM视为原始HTML—加载DOM后,无需等待资源即可开始操作它
define(
["jquery"], // these are your dependancies
function($){ // this is what you want to do after your deps have been loaded
var module= {
// my widget definition
};
return module;
});