【问题标题】:jquery: is there a way to guess height before rendering?jquery:有没有办法在渲染之前猜测高度?
【发布时间】:2011-12-17 05:19:01
【问题描述】:

这是我的代码:

  • 首先,我在其中有一个表格的地方分配了一些 htm 代码。
  • (表格不可见)
  • 然后我转储高度:每行都为 0。
  • 然后我 fadeIn() 表格
  • 然后我转储高度:每行 320 像素。

您知道如何在渲染之前计算高度吗?

如果行的高度太大,我的目标是“剪切”一些信息。

  $('#tableau').html(htm);
  $('.tableau tr td').each(function() {
    console.log($(this).height());
  } );
  $('#wait').queue(function() {
    $('#tableau').fadeIn(100).queue(function() {
        $('.tableau tr td').each(function() { console.log($(this).height()); } );
      }   
    );  
  });

我知道这听起来像 here,但这不是完全相同的问题。

谢谢!

【问题讨论】:

    标签: jquery height


    【解决方案1】:

    在渲染之前无法获取height。您有三个选择:

    1. 一次渲染所有元素,然后获取高度。
    2. 追加一个元素,检查高度,并假设每个连续元素的高度相同。
    3. 一种非常不同的方法:将max-height: 100px(示例)添加到元素的选择器中。

    【讨论】:

      【解决方案2】:

      您可以尝试将内容渲染到屏幕外,因为它不可见。所以把它放在一个绝对定位的 div 中,然后将它向左移动 10,000 像素。然后渲染,并检查每个的高度。内容仍在渲染中,因此它不能完全满足您的要求,但它不会可见。然后您可以调整,最后将内容移动到屏幕上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-14
        • 1970-01-01
        • 1970-01-01
        • 2016-08-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-23
        • 2014-07-31
        相关资源
        最近更新 更多