gpt4 book ai didi

javascript - 使用 javascript 和 jquery 排列数组元素

转载 作者:搜寻专家 更新时间:2023-11-01 04:42:03 25 4
gpt4 key购买 nike

我正在尝试创建一个函数来排列表格中的点,如图所示:

enter image description here

我需要修改的代码是:

var rowsCount = 7;
var heightTable = 700;
var rowHeight = 100;

//an array with divs with elements, every element has a top and left position
var arrayOfDivs = [({topPosition : 99, leftPosition: 100}),({topPosition : 150, leftPosition: 400}),({topPosition : 578, leftPosition: 10})];

//so here create a function that will create arrays = rowCount, so here we will need 7 arrays and arrange elements from arrayOfDivs into new arrays


function arrangeInNewArrays (rowsCont,heightTable,rowHeight) {
var j=0;
for i=0 {
if (arrayOfDivs.topPosition[0] > rowHeight*j < rowHeight){
var array+j = array+j+arrayOfDivs[i];
}else {
i++,j++
}
}

print arrayofDivs[i];
}

有什么建议吗?如何按行排列点...

请帮我做一下///

代码:http://jsfiddle.net/sYq9S/9/

最佳答案

我认为你可以使用这样的东西:

var ROW_HEIGHT = 100; //assume 100px, but you can change this
var rowsCount = 7;

var rows = [];
for(var i = 0; i < rowsCount; i++) {
rows[i] = [];
}

for(var i = 0; i < arrayOfDivs.length; i++) {
var position = arrayOfDivs[i];

//The assumption is that the table starts at position 0. If not, you will
//have to subtract the table's top position from topPosition
var rowNumber = Math.floor(position.topPosition / ROW_HEIGHT);
rows[rowNumber].push(position);
}

这将最终根据 topPosition 将 div 分组到行中.所以任何与0 <= topPosition < 100将在row[0] (第一行),任何带有 100 <= topPosition < 200 的东西将在row[1] (第二行)等等。

然后您可以迭代这些并根据 leftPosition 定位它们.

这不一定会给你 7行,因为它取决于 topPosition每个元素。所以如果你没有任何有 topPosition 的东西这样 600 <= topPosition < 600那么第七行就没有任何东西了。

如果你想按leftPosition排序在每一行中,您可以这样做:

for(var i = 0; i < rowsCount; i++) {
rows[i].sort(function(a, b) {
return a.leftPosition - b.leftPosition;
});
}

Here is the fiddle .

关于javascript - 使用 javascript 和 jquery 排列数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17861311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com