Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery隐藏/显示破坏了我的div?_Jquery_Html_Hide_Show - Fatal编程技术网

Jquery隐藏/显示破坏了我的div?

Jquery隐藏/显示破坏了我的div?,jquery,html,hide,show,Jquery,Html,Hide,Show,我最近在一个网站上添加了一点jquery来修复IE7中的一个渲染错误。不幸的是,由于某种原因,这个小小的节目脚本打破了底部的一些分割,我一辈子都不知道为什么。我已经花了太多的时间来摆弄它,确保div正确对齐,等等 有人能告诉我为什么这个脚本会改变我代码的显示方式吗 <script type='text/javascript'> $(document).ready(function() { $('#hide').show() }) </script> $(documen

我最近在一个网站上添加了一点jquery来修复IE7中的一个渲染错误。不幸的是,由于某种原因,这个小小的节目脚本打破了底部的一些分割,我一辈子都不知道为什么。我已经花了太多的时间来摆弄它,确保div正确对齐,等等

有人能告诉我为什么这个脚本会改变我代码的显示方式吗

<script type='text/javascript'>
$(document).ready(function() { $('#hide').show() })
</script>

$(document).ready(函数(){$('#hide').show()})
下面是带隐藏和不带隐藏版本的链接,以便您可以看到我所说的内容以及所有代码

如果有人对我如何解决这个问题有任何线索的话,我将非常感谢你朝着正确的方向努力


谢谢。

您的小部件将设置为高度0px,添加它们的脚本必须查看容器高度,而display none实际上是高度0px宽度0px

$('.widget').height(120)
在.show()之后应该修复它


将main.js移动到
$(document.ready)(function(){$('#hide').show()})下面可能也会有效果。

您不应该将jQuery用于此解决方案。使用附加样式表的条件注释来解决IE7问题是一个更好的解决方案

制作一个包含css的新样式表,该css仅在IE7中修复了这个问题。然后,将其放入名为ie-7-fix.css的文件中,并将以下代码添加到HTML中:


您正在对隐藏元素执行的等高操作,因此高度都被设置为0。

使用Firebug,我可以看到“工作”页面将
widgetWrap
div中的div定义为高度为120px。一些JavaScript正在注入

style="height: 120px;"
进入每个
小部件
div

在“断开”页面中,相同的JavaScript正在注入

style="height: 0px;"

这将导致您看到的文本重叠。现在我不知道是哪个JavaScript在这么做,但我猜这是因为断页中的主体样式定义了
display:none

错误的样式,代码中使用了js而不是css。我想纠正一下。另外一个非常好的答案+1问题是一些看起来完全像FOUC的东西,不一定与CSS有关(我知道)。它只是看起来好像加载CSS很晚。我不知道有什么CSS可以用来解决这个问题。对不起,我现在明白你的意思了。我不知道ie-7-fix.js。不过,我确实尝试过这个方法,但它并没有像jquery解决方案那样解决我的问题。我修复了我编写的代码——我不小心使用了它而不是tag。好的,我看到它在main.js文件中(我以前查看过缩小的js文件)。在调用show()之前,您正在计算最大高度,当然它将为零。