jquery文档高度内存使用情况

发布于 2024-12-28 13:05:53 字数 318 浏览 1 评论 0原文

我正在使用 jquery 创建一个模式窗口。创建叠加层时,我遇到页面高度问题。

要设置叠加高度,我使用 $(document).height() ,效果很好。 但是,如果页面高度根据记录增加,则内存使用量会增加一倍。

例如,如果我的页面有 10 条记录,当我单击链接打开模式窗口时,内存使用量将从 68,000k 更改为 75,000k。

如果我的页面有100条记录,当我打开模态窗口时内存使用量是135,000k。

这显然是由于文档高度造成的。

这是在 IE8 中找到的。

请帮助我了解如何在不影响内存的情况下获取文档高度。

I am creating a modal window using jquery. I am having an issue with the page height when creating a overlay.

To set the overlay height I am using $(document).height() and this is working fine.
But if the page height increases as per the records the memory usage is doubled.

For Example if my page has 10 records and when I click on a link to open modal window the memory usage is changed from 68,000k to 75,000k.

If my page has 100 records, when I open modal window memory usage is 135,000k.

This is explicitly because of document height.

This is found in IE8.

Please help me out on how to get the document height without effecting the memory.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

唠甜嗑 2025-01-04 13:05:53

与其创建覆盖整个页面的覆盖层,为什么不使用相对于视口的固定位置来定位覆盖层呢?

您可以尝试以下 CSS 来实现此目的:

#overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

这将避免不断增加覆盖层高度的要求,并覆盖整个视口。

Rather than creating an overlay that covers the entire page, why not position the overlay using a fixed position relative to the viewport?

You could try the following CSS to achieve this:

#overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

This would avoid the requirement of continually increasing the height of the overlay and would cover the entirety of the viewport.

七堇年 2025-01-04 13:05:53

IE8 支持 css 位置:固定,您可以使用它来定位覆盖层和对话框,而无需参考文档高度。然后你可以使用类似

$("#myDialog").css({
    position: "fixed",
    top: ($(window).height() - $("#myDialog").outerHeight())/2
})

和 css 的覆盖层,

.overlay {
    background: none repeat scroll 0 0 #000000;
    height: 100%;
    left: 0;
    opacity: 0.7;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1;
}
.ie7 .overlay, .ie8 .overlay {
    background: url("../img/lb-overlay.png") repeat scroll 0 0 transparent; /*image is a 1px by 1px semi transparent png*/
}

这可能会也可能不会解决内存问题,但通常是定位模式对话框的更好方法(它只在 ie6 中失败)。

IE8 supports css position:fixed which you can use to position the overlay and dialog without having to refer to the document height. Then you can just use something like

$("#myDialog").css({
    position: "fixed",
    top: ($(window).height() - $("#myDialog").outerHeight())/2
})

and css for the overlay

.overlay {
    background: none repeat scroll 0 0 #000000;
    height: 100%;
    left: 0;
    opacity: 0.7;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1;
}
.ie7 .overlay, .ie8 .overlay {
    background: url("../img/lb-overlay.png") repeat scroll 0 0 transparent; /*image is a 1px by 1px semi transparent png*/
}

This may or may not fix the memory problems, but is in general a better way to position a modal dialog (it only fails in ie6).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文