如何检查我的所有j查询文件是否已完全加载。
我只想在加载与该div相关的所有jQuery文件时显示我的div。
文档就绪和窗口加载功能不起作用。
如何写一个条件函数,你可以检查是否所有的jQuery都加载然后显示div ....我在外部js文件中调用我所有的jQuery文件,(基本上我正在尝试创建一个插件我的客户端,以便我的external.js文件可以从我的服务器远程工作。)
我的external.js文件是这样的:
if (typeof jQuery === "undefined") {
var script = document.createElement('script');
script.src = 'js/jquery-1.7.1.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
if (typeof jQuery === "undefined") {
var script = document.createElement('script');
script.src = 'js/fancybox.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
document.ready = function() {
$(document).ready(function(){
$("#addimage").html("<a id='fancybox' href='large"+clientID+".jpg'><img border=0 src='thumb"+clientID+".jpg'/></a>");
}
});
所以我希望这个addimage div工作只有我的jquery文件完全加载
答案 0 :(得分:1)
在你的根页面中加载所有其他页面创建一个数组或变量列表,这些变量是特定JQuery页面的标志是否已加载。
写一个例程,不显示任何JQuery CSS容器,直到它们全部加载,并通过使用根页面中的函数设置标志来将数组/变量加载标志设置为true。
所以根页有:
<script>
$JQueryPage1Ready = false;
$JQueryPage2Ready = false;
$JQueryPage3Ready = false;
// Your JQuery loaded pages have javascript within them to call this function
function setJQueryPageToReady($PageNo)
{
switch ($PageNo)
{
case 1: $JQueryPage1Ready = true; break;
case 2: $JQueryPage2Ready = true; break;
case 3: $JQueryPage3Ready = true; break;
}
// Check all pages are loaded
if ($JQueryPage1Ready && JQueryPage2Ready && JQueryPage3Ready)
{
$("JQueryPage1Container").show(1000);
$("JQueryPage2Container").show(1000);
$("JQueryPage3Container").show(1000);
}
}
<script>
JQuery加载第1页
<script>
setJQueryPageToReady(1);
<script>
JQuery加载第2页
<script>
setJQueryPageToReady(2);
<script>
JQuery加载第3页
<script>
setJQueryPageToReady(3);
<script>
可能还有其他方式,但这首先出现在我脑海中。
答案 1 :(得分:0)
好的,你需要一个javascript加载器..你可以使用headjs或modernizr或yepnope。它们具有回调功能,您可以放置将在加载某个javascript文件时运行的脚本