【问题标题】:jQuery Height brokenjQuery 高度损坏
【发布时间】:2012-10-03 20:24:32
【问题描述】:
看看这个:

http://jsfiddle.net/JamesKyle/3FaVN/

  1. 尝试垂直调整结果大小:之后两列正确滚动。

  2. 接下来水平调整大小,然后再次尝试垂直调整大小:注意列不再等于视口高度并且无法正确滚动。

我不明白这里发生了什么。

我的 javascript 看起来很简单:

function setHeight() {
     $('.panel').height( $(window).height() );
}

$(window).load(setHeight).resize(setHeight);

​ 有谁知道这是什么原因造成的?任何想法如何解决它?

【问题讨论】:

  • Protip:当你使用一个流行的库来做一个基本的事情并且它没有按照你期望的方式运行时,你极不可能是第一个注意到这个“错误”的人 - - 更有可能是您的代码中存在错误,或者您对函数的期望是错误的。
  • 也就是说,我不知道它为什么这样做。我同意这看起来很奇怪。
  • 我已经使用 jQuery 很长时间了,在过去的一个小时里,我一直在搜索并深入研究 jquery 脚本,但它没有任何意义。当然,我不是唯一一个尝试这样做的人 before 但是我无法弄清楚为什么应该工作完全相同的脚本不是
  • @JamesKyle:没关系,我一开始没看到高度问题,我以为滚动有问题或其他问题:) 我现在看到了这个问题,并在我的答案中添加了一个修复程序。很抱歉造成混乱。

标签: javascript jquery resize window


【解决方案1】:

在您的 .scroll div 上使用 height: 100%; 而不是 height: inherit;

【讨论】:

    【解决方案2】:

    jQuery 调整大小工作正常,因为 'div.panel' 的高度是正确的。它是高度不合适的“div.panel”的内部 div。 设置儿童身高即可解决修改jsfiddle的问题

    【讨论】:

      【解决方案3】:

      jQuery 工作正常; .panel 的高度设置正确。然而,它的孩子根本没有被设置。

      【讨论】:

        【解决方案4】:

        你的事件是由调整大小触发的,只需输入console.log。我不知道为什么,但这项工作http://jsfiddle.net/3FaVN/24/

        【讨论】:

          【解决方案5】:

          在 webkit 中有一个错误,显示:table(-cell) 和调整大小,请参阅https://bugs.webkit.org/show_bug.cgi?id=53166。

          我暂时远离显示:表格。

          编辑:阅读更多内容后,我不确定这是否适用于您的情况。不过对我来说,经过相当多的测试后,它确实感觉像是 webkit 中的某种错误(例如:它坏了,经过一些元素检查后,事情似乎又能正常工作了……)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-09-21
            • 2013-07-29
            相关资源
            最近更新 更多