【问题标题】:jquery preload the page loaded via load() methodjquery 预加载通过 load() 方法加载的页面
【发布时间】:2009-10-15 04:48:36
【问题描述】:

我正在尝试做一些像 boxy、facebox 或 lightbox 之类的东西......等等。唯一的问题是我不知道如何预加载通过 load() 方法加载到框中的页面。

它应该像这样工作:

  1. 它会弹出框
  2. 添加了加载动画
  3. 页面加载后动画消失

所以我需要知道页面何时加载才能删除动画。

【问题讨论】:

    标签: jquery ajax preload


    【解决方案1】:
    var function_for_display_animation = function(){
       //display animation
    }
    var function_for_remove_animation = function(){
       //remove animation
    }
    
    function_for_display_animation();
    $(selector).load('page.php',function_for_remove_animation);
    

    或:

    $().ajaxSend(function(evt, request, settings){
        //start animation
    });
    
    $().ajaxComplete(function(event,request, settings){
        //end animation
     });
    
    $(selector).load('page.php', function(){
        //work
    });
    

    【讨论】:

      【解决方案2】:

      如果我的理解正确,您的意思是因为您网站上的页面需要一段时间才能加载,您希望友好的加载消息立即显示并在页面加载后消失。

      这样做的诀窍是在页面首次加载时下载量不大。只是加载消息和一些 JavaScript。

      使这项工作有效的原因在于,在您的 $(document).ready() 函数中,您将使用 AJAX 来获取慢速数据。 AJAX 查询返回后,使用 JS 将数据填充到页面,然后关闭加载消息。

      【讨论】:

      • hmm...实际上这是我的问题,我怎样才能“看到”什么时候可以删除加载动画?这样的事情就足够了吗? $(selector).load('page.php',function(){ $('.animation').remove(); });
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多