Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Определить координаты элементов по классам (https://javascript.ru/forum/events/33242-opredelit-koordinaty-ehlementov-po-klassam.html)

mihail_kmg 15.11.2012 14:20

Определить координаты элементов по классам
 
Задачка: на странице есть <div id="someid">, в нем несколько элементов с одинаковым class="someclass". Вопрос: определите координаты каждого элемента class="someclass" внутри <div id="someid">...

Вот пример решения, запускается так: <body onload="getCoord()">, но почему-то не работает

<script type="text/javascript">
	function getCoord()
	{
		var q = document.getElementById(someid).getElementsByClassName(someclass);
		for (var i=0; i<q.length; i++)
			var rect[i] = q[i].getBoundingClientRect();
			document.writeln('#'+i+'</br>')
			document.writeln(rect[i].top+'</br>')
			document.writeln(rect[i].bottom+'</br>')
			document.writeln(rect[i].left+'</br>')
			document.writeln(rect[i].right+'</br>')
	}
</script>

danik.js 15.11.2012 15:32

1)
var rect[i]
нельзя объявить элемент массива, не объявив сам массив.

2)
Код надо заключать в блок {...} если у нас несколько действий.


var rect = [];
for (..)
{
    rect[i] = ...
    ...
}


Чтобы впредь не гадать, почему не работает код, открываем консоль браузера и смотрим ошибки(F12 либо Ctrl+Shift+K либо Ctrl+Shift+O)


Вместо document.writeln можно писать console.log(...) и тогда значение переменной будет выведено в консоль.

mihail_kmg 15.11.2012 15:41

Спасибо, уже заработало :) так и сделал


Часовой пояс GMT +3, время: 17:47.