【问题标题】:Load function after whole page has been loaded加载整个页面后的加载功能
【发布时间】:2015-11-05 14:59:13
【问题描述】:

我目前有一个由 html 制成的网页,其中正文是使用 jquery 加载功能从外部加载的。那么在外部代码里面,有一个带有id="main"的div,在主体代码和整个页面加载完成后,如何将另一个外部代码加载到带有id="main"的div中呢?请帮忙。 这是整个页面的代码

$(document).ready(function(){
            $("#body").load("body.html");
        });

在body里面,有一个这样的div

<div id="main"></div>

所以我有另一个外部 html,它应该进入名为 main.html 的“主”div 我试过把它放在头部和 div 之后,但它不起作用

$(document).ready(function(){
            $("#main").load("main.html");
        });

如果你们不介意,请访问此链接并查看源代码并提供帮助,对不起 http://proxcent.com/test.html

【问题讨论】:

  • 请在此处添加一些代码。谢谢。
  • 你考虑过使用document.ready吗?
  • 已编辑,抱歉,有什么想法吗?
  • 这是你要找的答案:stackoverflow.com/a/33548074/1414562你必须使用ajax方法完成回调.load( url [, data ] [, complete ] )

标签: jquery html webpage


【解决方案1】:

你可以使用 onLoad 方法。看到:

在 DOM 就绪时(未完全加载资源,仅 DOM 树)

$(document).ready();

页面完全加载(包括图片)

$(window).on('load', function() { ..... });

【讨论】:

  • 或者只是 $(window).load
  • 这样吗? $(window).on('load', function() { $("#main").load("main.html"); });
  • 这不是在回答问题,OP 正在发出 ajax 请求以加载正文内容
  • @A.Wolff 当我回答时,OP 不共享任何代码。所以你可以看到预先编辑的答案,你就明白了......
  • @MarcosPérezGude 哦,那完全有道理;)
【解决方案2】:

您可以使用$('#main').length &gt; 0 检查页面上是否存在id 为“main”的div,然后使用$('#main').load() 加载您拥有的任何外部代码

$(window).on('load', function(){
        if($('#main').length > 0){
           $('#main').load('/yourExternalCode.html');
         }
    });

【讨论】:

    【解决方案3】:

    jQuery load 方法将回调函数作为第二个参数(如果您想通过数据作为第二个参数发送,则为第三个参数),在执行后处理和 HTML 插入之后执行。

    $("body").load("body.html",function(){
        // load more external content
        $(this).find("#main").load("main.html");
    });
    

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多