【发布时间】:2017-11-22 11:34:00
【问题描述】:
抱歉,标题不具描述性,我只是不知道如何描述。在我的网站上,我有一个常见问题解答页面,该页面上有主题组,每个主题都有问题。例如:
FAQ
- Topic 1
- Question
- Question
- Question
- Topic 2
- Question
- Question
- Question
- Topic 3
- Question
- Question
- Question
- Question
我需要将这些主题分成两部分,以使它们保持平衡。例如,将上述主题分成两列的最平衡方式是在左列中包含主题 1 和主题 2(60% 的问题),然后在右列中包含主题 3(40% 的问题)。它看起来像这样:
我无法弄清楚我需要做什么背后的逻辑。我现在这样做的方式是计算每个块的百分比,然后遍历块并将它们放入第一列,直到增量百分比大于 50,然后切换到第二列。这最终看起来像这样:
显然这是不平衡的。这个看似简单的任务实际上非常复杂,还是我在这里完全遗漏了什么?我正在用 PHP 编写代码,但我也标记了 JavaScript,因为这似乎更像是一个逻辑问题。
【问题讨论】:
-
对于javascript有一个masonry插件,你可以看看。
-
你问我们什么是你的逻辑?总问题 = 10。中点 = 5。当左侧计数小于中点时,将
groups添加到左侧,然后将剩余的组转储到右侧。正确的?有没有这样的情况不能提供预期的效果? ...并且 PHP 可以解决逻辑问题。你会向我们提供一系列问题吗?或任何要修复的代码?我们如何回答? -
@mickmackusa 中点技术是我所说的我已经在做的,但没有以平衡的方式划分它们,因为如果你有 30/30/60,它将把 30 放在第一列和 30/60 在第二列。第二张图是 50% 中点的结果。
标签: javascript php arrays logic