Da ne tvaram novu temu nadovezacu se na ovo, Ja sam pokusao problem da resim ovako:
Kôd:
var arrayOfDivs = [];
//izdvajam sve divove iz tabele i njihove pozicije top i left
$("#table .draggable").each(function(index, item){
var lat = $(item).attr("lat");
var lng = $(item).attr("lng");
var top = $(this).position().top;
var left = $(this).position().left;
arrayOfDivs.push({topPosition : top, leftPosition: left, lat : lat, lng : lng});
});
//kreiram osnovne varijable potrebne za funciju koja sledi
var height = $('table').height();
var rowsCount = $('table tr').length;
var ROW_HEIGHT = height/rowsCount;
var rows = [];
//racuna se u kom redu se nalazi koji div i dodaje se u novi array
for(var i = 0; i < rowsCount; i++) {
rows[i] = [];
}
for(var i = 0; i < arrayOfDivs.length; i++) {
var position = arrayOfDivs[i];
var rowNumber = Math.floor(position.topPosition / ROW_HEIGHT);
//PROBLEM SE JAVLJA OVDE
rows[rowNumber].push(position);
}
for(var i = 0; i < rowsCount; i++) {
rows[i].sort(function(a, b) {
return a.leftPosition - b.leftPosition;
});
}
console.log(JSON.stringify(rows, null, 3));
medjutim moze li neko da mi pomogne i kaze kako da resim probem koji se javlja a to je: u Consoli pise
Citat:
" Uncaught TypeError: Cannot call method 'push' of undefined"
|
Kod:
http://jsfiddle.net/u58k6/10/