【发布时间】:2010-10-06 09:02:29
【问题描述】:
我有一个 HTML 元素(假设是 division),其中包含一组标题 (h2) 和段落 (p),其中包含其他元素(例如一些链接,a)。
我的目标是将我的 HTML 元素切割成 2 个相同大小的元素。
约束:段落、标题和块不应被剪切
我的想法是浏览子节点列表并复制每个段落的childNodes。
每次我复制一个段落时,我都会计算大小,以便知道我是否达到了除法的一半。
这里有一些代码来解释它:
var elm = document.getElementById('article_colonnes'); // I want to cut this into 2 parts
var paragraphesNumber = paragraphes.length;
var halfSize = elm.innerHTML.length / 2 ;
var col1 = document.getElementById('col1');
var col2 = document.getElementById('col2');
var i=0;
do {
var node = createNodeFromParagraphe(paragraphes[i]);
if(node) {
col1.appendChild(node);
// update the size of the 1st column by updating inner HTML
col1String = col1String + paragraphes[i].innerHTML;
}
i++;
// compute the size of the 1st column
col1Size = col1String.length;
}
while(col1Size < halfSize || i < paragraphesNumber) ;
我对第二列也这样做。
感谢您的帮助。
【问题讨论】:
-
或许您可以解释一下这样做的目的是什么,然后我们可以进一步提供帮助?
-
我想他想要一个自动的两列布局。我认为带有浮动元素的纯 CSS 解决方案可以做到这一点,而不需要所有的 JavaScript 麻烦。
-
更好的是,他可以使用多列布局,除了IE之外的所有主流浏览器都支持。 IE 用户只能忍气吞声。
标签: javascript html