【问题标题】:For loop in jQueryjQuery中的for循环
【发布时间】:2010-07-23 05:14:33
【问题描述】:

需要在 jquery 中运行 for 循环。条件是:

我有以下代码

<div id="container">
  <ul>
    <li style="background-color:#CCC">First</li>
    <li style="background-color:#CCC">Second</li>
    <li style="background-color:#CCC">Third</li>
    <li style="background-color:#CCC">Fourth</li>
    <li style="background-color:#999">Fifth</li>
    <li style="background-color:#666">Sicth</li>
    <li style="background-color:#000; color:#FFF;">Seventh</li>
    <li style="background-color:#000; color:#FFF;">Eighth</li>
  </ul>
</div>    

<script type="text/javascript">
    $(document).ready(function(){
        var w = 0;
        var bpl=7;
        var tw = 960;
        var cal_width =0;
        var lines =0;
        w = $('li').size();
        cal_width = (tw/w)-30 + "px";
        lines = Math.floor(w/bpl) + (w%bpl>0 ? 1 : 0);
        $("#container").each(function(lines){
            //$("ul > li").css({"width": cal_width});
        });
    });
</script>    
  1. var lines = 2;
  2. for 循环将运行到行数,即 2 次​​li>
  3. UL 下有 7 个 LI 项目
  4. 当 LI 计数达到 8 个项目时,需要生成第二个 UL 和第 8 个 LI 项目
    将作为第二个 UL 的一部分出现。

因此,当超过 7 个项目时,单独的 UL 将包装这些 LI 项目。

请帮忙!

【问题讨论】:

  • 我不明白这个。你能放一些你认为它如何工作的伪代码吗?
  • 我已放置代码。我需要将 for 循环运行到 var 行的值。因此,如果 li 项目超过 7 个,它将为该 LI 创建一个单独的 ul。我不知道循环。你可以修改代码来达到效果。

标签: javascript jquery loops foreach


【解决方案1】:
var container = $("#container");
var lis = $("ul > li", container);
var ul;

container.empty();

for (var i = 0, l = lis.length; i < l; i ++) {
    if (i % 7 == 0) ul = $("<ul />").appendTo(container);
    $(lis[i]).appendTo(ul);
}

【讨论】:

  • 非常感谢 Fantactuka。您的代码在实现最终结果方面帮助了我很多。再次非常感谢。
【解决方案2】:

你为什么不这样做(如果有任何具体原因,请告诉我)-

1. Open first UL
2. Do Creat Li until reach to limit // here 7
3. Close first UL 
4. Open second UL
5. Creat Li
6. Close second UL

【讨论】:

  • 我明白你的意思了萨达特,你能写下代码,这样即使我也能理解如何在这个特定场景中实现 for 循环。如果可能,请帮助我提供代码。
猜你喜欢
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 2011-11-19
  • 2019-08-27
  • 1970-01-01
  • 2011-10-18
  • 2011-08-07
  • 1970-01-01
相关资源
最近更新 更多