【问题标题】:getting the height and width of a div after loading info into it from an external source with jquery使用jquery从外部源加载信息后获取div的高度和宽度
【发布时间】:2012-02-23 09:38:02
【问题描述】:

我看到了与此类似的问题,但还没有找到适合我的情况的答案。我使用 jQuery 创建了一个简单的模态弹出插件,运行如下: $('#popup').popupElement("http://www.example.com #somediv");

当点击选择器#popup 时,它会从另一个网站加载 div。点击函数如下所示:

            $(thisObj).click(function(e){
            e.preventDefault();
            $("#popupDiv").load(div);
            centerPopup();
            loadPopup();
        });

问题是当它加载外部div到popupDiv时,popupDiv的高和宽都是0,所以centerPopup()不能居中。单击#popup 链接几次后,popupDiv 的尺寸会自行修复。有没有办法确保在调用 centerPopup() 之前将 popupDiv 设置为正确的尺寸?

【问题讨论】:

    标签: jquery load popup modal-dialog dimensions


    【解决方案1】:

    尝试在load() 的回调函数中调用centerPopup()loadPopup()。这将确保在您尝试显示弹出窗口之前内容在 DOM 中,这意味着高度和宽度应该是可访问的。试试这个:

    $(thisObj).click(function(e){
        e.preventDefault();
        $("#popupDiv").load(div, function() {
            centerPopup();
            loadPopup();
        });
    });
    

    【讨论】:

    • 就是这样!为什么我以前没有尝试过?谢谢!
    【解决方案2】:

    你有没有尝试过默认隐藏元素,然后在调用 centerPopup() 之前,显示() 它,但保持它的可见性隐藏,然后检查它的 width() 和 height() 看它是否已经有了尺寸?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-06
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 2012-06-15
      相关资源
      最近更新 更多