javascript - 使用绝对位置循环形成 9 个框

标签 javascript jquery loops

1 2 3
4 5 6
7 8 9

我想在js中使用绝对定位和循环来实现上面的框位置。但我坚持开始第二行。

http://jsfiddle.net/k554x7vs/

var left = 0;
for (var i = 1; i <= 10; i++) {

    $('<div class="box" id=box' + i + '></div>').appendTo('#holder');

    if (i == 3) {

        //2nd line and so on..
        left = 0;
        $('#box' + i).css({
            'top': 70
        })



    }


    $('#box' + i).css({
        'left': left
    });

    left += 60;
}

我不使用 float left 是有原因的。

最佳答案

您还需要增加 top

var left = 0,
    top = 0;
for (var i = 1; i <= 10; i++) {
    $('<div class="box" id=box' + i + '></div>').appendTo('#holder');
    $('#box' + i).css({
        'left': left,
        top: top
    });
    left += 60;
    if (i % 3 == 0) {//need to increment top also need to use the modulus operator since you want to reset/increment after each 3rd element
        left = 0;
        top += 70;
    }
}

演示:Fiddle

关于javascript - 使用绝对位置循环形成 9 个框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29137152/

相关文章:

php - 仅使用 javascript 为移动设备加载 div

javascript - 为内容更改创建一个 jQuery 特殊事件

jquery - 强制 <li >'s width to be the same as it' s 内容

arrays - 如何修复我的随机按钮启用代码每次都显示相同的顺序?

r - 如何根据列制作 "For loop"

javascript - 在 ExtJS 中中止 Ajax 请求

javascript - 在访问属性之前检查对象是否不为空

javascript - 在索引之间搜索

javascript - 如何使用 3 秒后消失的 jQuery 创建对话框?

javascript - 过滤数组并附加 li 项