【问题标题】:Executing jQuery code after images are loaded in an Ajax called page在 Ajax 调用页面中加载图像后执行 jQuery 代码
【发布时间】:2012-02-15 14:23:41
【问题描述】:

我知道使用 $(window).load() 代码会在所有内容加载后执行。但是当从通过 Ajax 加载的页面调用 load() 时,它似乎不起作用。

即:点击我页面中的某个链接通过 Ajax 加载一个页面,我想在该页面中显示图像并在加载后执行 jQuery 代码。

怎么做?

【问题讨论】:

  • 定义“通过 ajax 加载页面”。如果您实际上使用的是 ajax,那么在您的成功处理程序上,该页面将被“加载”。

标签: jquery


【解决方案1】:

load() 具有回调函数,您可以执行代码和显示图像:

$('#container').load('myurl.html', function() {
  $('#myimg').show(); // show images here
});

【讨论】:

    【解决方案2】:

    如果您使用的是 jQuery,则准备好的处理程序用于在 dom 准备好后执行。这是 jQuery api 的链接:http://api.jquery.com/ready/

    【讨论】:

      【解决方案3】:

      在回调函数中调用该脚本:

      $("#id").load("", function(){
          /in here
      })
      

      【讨论】:

        【解决方案4】:

        以下逻辑中的一些东西

         var imgCount = $('parent img').length,
                imgLoaded = 0,
                $('parent img').load(function() {
                    imgLoaded++;
                    if (imgLoaded == imgCount) {
                     //images are loaded
                    }
                });
        

        【讨论】:

          【解决方案5】:

          你使用 ajax 成功/错误事件。

          你的 ajax 调用看起来像吗?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-01-23
            • 1970-01-01
            • 2011-04-05
            • 2013-02-04
            • 1970-01-01
            • 1970-01-01
            • 2011-04-09
            • 1970-01-01
            相关资源
            最近更新 更多