【发布时间】:2013-04-28 22:54:43
【问题描述】:
我试图弄清楚如何使用 CSS 和 jQuery 自动排列文本。
以下是如何使文本流入两个堆栈(我在this page上找到的):
<script type="text/javascript">
$(document).ready(function() {
var size = $("#data > p").size();
$(".Column1 > p").each(function(index){
if (index >= size/2){
$(this).appendTo("#Column2");
}
});
});
</script>
<div id="data" class="Column1" style="float:left;width:300px;">
<!-- data Start -->
<p>This is paragraph 1. Lorem ipsum ... </p>
<p>This is paragraph 2. Lorem ipsum ... </p>
<p>This is paragraph 3. Lorem ipsum ... </p>
<p>This is paragraph 4. Lorem ipsum ... </p>
<p>This is paragraph 5. Lorem ipsum ... </p>
<p>This is paragraph 6. Lorem ipsum ... </p>
<!-- data Emd-->
</div>
<div id="Column2" style="float:left;width:300px;"></div>
有没有办法把上面的JS转换成三列而不是两列?
我在想也许
<script type="text/javascript">
$(document).ready(function() {
var size = $("#data > p").size();
$(".Column1 > p").each(function(index){
if (index >= size/3){
$(this).appendTo("#Column2");
}
});
$(".Column2 > p").each(function(index){
if (index >= size*2/3){
$(this).appendTo("#Column3");
}
});
});
</script>
<div id="data" class="Column1" style="float:left;width:250px;">
<!-- data Start -->
<p>This is paragraph 1. Lorem ipsum ... </p>
<p>This is paragraph 2. Lorem ipsum ... </p>
<p>This is paragraph 3. Lorem ipsum ... </p>
<p>This is paragraph 4. Lorem ipsum ... </p>
<p>This is paragraph 5. Lorem ipsum ... </p>
<p>This is paragraph 6. Lorem ipsum ... </p>
<!-- data Emd-->
</div>
<div id="Column2" style="float:left;width:250px;"></div>
<div id="Column3" style="float:left;width:250px;"></div>
但这不起作用 - 它仍然只是将其分成两列。
我很确定我错过了一些非常简单和小的东西,但我很困惑。
我想完成上述工作,而不是使用Columnizer jQuery Plugin,这对于我微薄的需求来说太过分了。
谢谢! -蒂姆
【问题讨论】:
-
我能够使用我在问题中提到的 Columnizer jQuery 插件来解决这个问题。但是,我仍然想知道如何使用上面这种更简单的方法来完成三列布局。
-
我在我的答案中添加了一个附录,以解释您的代码为什么不起作用。
标签: jquery css multiple-columns