Как Найти координаты вектора в таблице?
Есть таблица, при нажатии на ячейку, нужно вывести её координаты.
Т.е. допустим (8:00;17.06.2015), как реализовать? Алгоритм который пока-что в голове. - найти номер td в родительском tr-е, и номер tr-а в table. Но как реализовать пока-что не придумал. Подскажите что-то? https://jsfiddle.net/b6qctuoj/1/ |
xTODx,
взять два массива из них сформировать таблицу с необходимым функционалом ... а можно и без массивов у вас всё попорядку. |
Так есть же таблица, нужно только найти координаты того элемента, на который я нажимаю.
Возможно так? function editcolor(obj){ if($(obj).hasClass("green")){ $(obj).removeClass("green"); $(obj).addClass("yellow"); type = 1; }else if($(obj).hasClass("yellow")){ $(obj).removeClass("yellow"); $(obj).addClass("red"); type = 0; }else if($(obj).hasClass("red")){ $(obj).removeClass("red"); $(obj).addClass("gray"); type = 0; }else{ $(obj).removeClass("gray"); $(obj).addClass("green"); type = -1; } /*$.ajax({ url: '/js/graph.php', type: "POST", data: {type : type}, dataType: 'json', success: function(data){ } });*/ var sr = obj; var left = sr.offsetLeft; var vh = $("table tr:first-of-type").height(); var vw = $("table tr:first-of-type td:first-of-type").width(); var h = $("table tr:nth-last-child").height(); var w = $("table tr:nth-last-child td:nth-last-child").width(); var top = sr.offsetTop-vh; var parent = sr.offsetParent-vw; while(parent && parent.tagName != "BODY") { left += parent.offsetLeft; top += parent.offsetTop; parent = parent.offsetParent; } alert([left, top]); alert( left/w); } |
xTODx,гмм
alert($(obj).offset())так? |
|
на всякий случай чтобы ваша функция editcolor работала с таблицей должен быть запущен режим no wrap body на https://jsfiddle.net
иначе клики надо переназначать https://jsfiddle.net/b6qctuoj/5/ |
нет, я может неправильно выразился, таблица - матрица, и нужно найти координаты нужной ячейки в js.
думал через размеры, но не то. |
https://jsfiddle.net/b6qctuoj/7/
Вот, решено. |
xTODx,
вы искали индексы строк и столбцов -- мда |
xTODx,
var y = obj.parentNode.rowIndex-1; var x = obj.cellIndex-1; зачем вам jquery непонятно - классы тоже прекрасно меняются без jquery |
Часовой пояс GMT +3, время: 06:30. |