Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.06.2015, 19:17
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

Как Найти координаты вектора в таблице?
Есть таблица, при нажатии на ячейку, нужно вывести её координаты.
Т.е. допустим (8:00;17.06.2015), как реализовать?
Алгоритм который пока-что в голове. - найти номер td в родительском tr-е, и номер tr-а в table.
Но как реализовать пока-что не придумал.
Подскажите что-то?
https://jsfiddle.net/b6qctuoj/1/
Ответить с цитированием
  #2 (permalink)  
Старый 17.06.2015, 19:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

xTODx,
взять два массива из них сформировать таблицу с необходимым функционалом ... а можно и без массивов у вас всё попорядку.
Ответить с цитированием
  #3 (permalink)  
Старый 17.06.2015, 19:54
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

Так есть же таблица, нужно только найти координаты того элемента, на который я нажимаю.
Возможно так?
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);
		

		
	}
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2015, 20:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

xTODx,гмм

alert($(obj).offset())
так?
Ответить с цитированием
  #5 (permalink)  
Старый 17.06.2015, 20:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

xTODx,
https://jsfiddle.net/b6qctuoj/3/
Ответить с цитированием
  #6 (permalink)  
Старый 17.06.2015, 20:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

на всякий случай чтобы ваша функция editcolor работала с таблицей должен быть запущен режим no wrap body на https://jsfiddle.net

иначе клики надо переназначать

https://jsfiddle.net/b6qctuoj/5/

Последний раз редактировалось рони, 17.06.2015 в 20:20.
Ответить с цитированием
  #7 (permalink)  
Старый 18.06.2015, 00:25
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

нет, я может неправильно выразился, таблица - матрица, и нужно найти координаты нужной ячейки в js.
думал через размеры, но не то.
Ответить с цитированием
  #8 (permalink)  
Старый 18.06.2015, 00:32
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

https://jsfiddle.net/b6qctuoj/7/
Вот, решено.
Ответить с цитированием
  #9 (permalink)  
Старый 18.06.2015, 00:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

xTODx,
вы искали индексы строк и столбцов -- мда
Ответить с цитированием
  #10 (permalink)  
Старый 18.06.2015, 00:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

xTODx,

var y = obj.parentNode.rowIndex-1;
        var x = obj.cellIndex-1;

зачем вам jquery непонятно - классы тоже прекрасно меняются без jquery
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как найти нужный элемент? Mukhtar Events/DOM/Window 15 23.05.2013 16:07
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 01:12
Как найти путь к файлу для модификации? JuliaMilan Firefox/Mozilla 0 31.03.2009 14:06
Определить координаты объекта в таблице ner2000 Events/DOM/Window 2 14.06.2008 01:56