【发布时间】:2018-05-08 09:11:49
【问题描述】:
我正在尝试找到一种方法来拆分一个 div 的内容并通过遵循逻辑过程将其拆分为两列。
对于逻辑过程,我的意思是我想或多或少地将内容分成两半,但不破坏第一列的最后一句话。
所以我想让完成第一列的最后一句话,而不是将另一部分拆分并打印在另一列中,这就是为什么它几乎从不“切成两半”的原因。
所以我想以这种方式保留我的第一列:
Lorem ipsum dolor sit amet, consectetur 肥胖精英。 虎杖 在 metus venenatis metus中的luctus orci 黄花菜
而不是通过将其切成两半可能会发生类似的事情:
第一栏: Lorem ipsum dolor 坐 amet, consectetur 肥胖精英。 虎杖 在 metus venenatis metus中的luctus orci 黄花菜
第二栏: mattis ...等(其余第二列)
这方面的文档真的很难找到,我已经找了一段时间了。
我试图遵循这个:
Splitting HTML into multiple columns with Javascript/jQuery
但目前它似乎没有分裂任何东西:
HTML
<div id="split">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent molestie felis eu nisl gravida, sed molestie tortor egestas. Integer a velit quis mauris vehicula sagittis nec in dui. Suspendisse potenti. In hac habitasse platea dictumst. Donec convallis pharetra diam, id rutrum purus porta eu. Morbi feugiat mauris sed viverra volutpat. Pellentesque aliquam, nibh ac accumsan vehicula, ex justo blandit quam, at rhoncus turpis neque id est.
</div>
JS
function textSplitter(){
}
textSplitter.prototype.LENGTH_TO_SPLIT=5000 //max chars in single line
textSplitter.prototype.split=function(){
var contentDiv=document.getElementById("split"); // get an element
var text=contentDiv.innerHTML;
var length= text.length;
if(length){
var div1sbstr=text.substring(0,this.LENGTH_TO_SPLIT); //take a substring
var div1=document.createElement("div");
contentDiv.appendChild(div1); // append it
}
if(length>this.LENGTH_TO_SPLIT){
var div2sbstr=text.substring(this.LENGTH_TO_SPLIT,this.LENGTH_TO_SPLIT*2);
var div2=document.createElement("div");
contentDiv.appendChild(div2);
}
if(length>this.LENGTH_TO_SPLIT*2){
var div3sbstr=text.substring(this.LENGTH_TO_SPLIT*2,this.LENGTH_TO_SPLIT*3);
var div3=document.createElement("div");
contentDiv.appendChild(div3);
}
}
有什么宝贵的想法吗?
【问题讨论】:
-
是要拆分成两列还是多列?
-
结果必须是两列,但在这个阶段,三列也可以,因为我只想了解这个过程,而不是编辑它以获得两列。
标签: javascript multiple-columns