0

如何检查我的所有 j Query 文件是否已完全加载。

我只想在加载了与该 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 文件完全加载

4

2 回答 2

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>

可能还有其他方法,但这是我首先想到的。

于 2012-07-22T10:09:10.207 回答
0

好的,您需要一个 javascript 加载程序..您可以使用 headjs 或 modernizr 或 yepnope。它们具有回调功能,您可以在其中放置在某个 javascript 文件已加载时将运行的脚本

www.headjs.com

www.modernizr.com

www.yepnopejs.com

于 2012-07-22T10:06:03.117 回答