HTML中的DIV动态变化但添加了空白区域

时间:2015-06-01 15:57:35

标签: javascript php html css

我一直在研究动态问题(技术术语),但当然总有一些小跳需要克服。 我的问题是,当我选择“显示答案”时在其中一个问题面板上,分隔线在行之间增加了一个巨大的空白区域。 基本上问题的数量是由屏幕的宽度管理的,然后通过AJAX从index.php?questions&a={insertwidthofscreen*4}获得问题,这是通过javascript完成的,并自动运行。

我所拥有的代码如下,它被称为' math.php'作为临时测试: http://pastebin.com/MjGgSTYh 一切都是通过上面的文件生成的,没有外部连接,数据库的东西很简单,我将使用我的旧系统跟踪已经显示的内容。

这个想法是当单击答案按钮时所有DIVS都会改变高度,高度取决于答案,答案可能从1个单词变为段落。

屏幕截图显示我对白色空间的意思。 http://imgur.com/KAOPHFI,wj0vWSg 有两张照片,我一段时间没有看到下一个按钮。

干杯, 利昂

1 个答案:

答案 0 :(得分:1)

由于它不是完整的代码(因此我很难对自己进行测试),我只是吐这个 - 你的qbox风格(可能还有其他?)有固定的宽度 - qbox是200px。这应该是动态的吗? (你也有两次宽度列出,但值相同,所以在这种情况下它不应该重要)

如果您想发布我可以自己粘贴到文件中的更完整的代码,我可以更轻松地进行问题排查。

更新

我看到现在发生了什么。当您按特定顺序单击答案时会出现空白 - 即如果您从上到下从左到右遍历它们,则没有额外的空格,但如果您在屏幕截图中按对角线方式单击,则会添加空格以允许当前答案的长度,但不会对先前的单元格进行重新排序以利用空间。

为了解决这个问题,当您点击一个答案时,您似乎必须重新定位一些答案框...只是按照特定顺序展开它们会导致您遇到问题看到。另一个选择是在页面的侧面或底部有一个答案窗格/框架,它显示答案而不扩展问题框本身。我不能想象你每次点击一个时需要自动重新排列框的算法...