powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
15 сообщений из 15, страница 1 из 1
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832570
IcyWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По странице разбросаны draggable элементы, выглядящие примерно так:

Код: javascript
1.
2.
3.
4.
5.
6.
<div class="div_in_cell ui-draggable ui-draggable-handle" style="top: 1694px; left: 1912px;">
   <div class="div_in_cell ui-draggable ui-draggable-handle" style="left: 120px; top: 0px;">
       <img src="monsters/skull.png" class="monster_img">
       <div class="div_mob_index">1</div>
   </div>
</div>



Заданы верхний-левый правый-нижний угол прямоугольника (а координатах относительно документа), можно ли как-то определить, попадают ли в него какие-то элементы? Не перебирая все элементы на странице.
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832586
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyWizardНе перебирая все элементы на странице.
Только перебором...
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832592
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyWizard,
цель такого?
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832600
IcyWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выделение элементов чтобы их можно было перетащить не по 1, а группой
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832795
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyWizardВыделение элементов чтобы их можно было перетащить не по 1, а группой
Т.е. будет событие мыши?
Так хоть всплытие можно будет попробовать использовать...
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832805
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так хоть список элементов можно определить...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
div {
	border: 1px solid;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<div id='e0' onclick='test();' class="div_in_cell ui-draggable ui-draggable-handle" style="top: 1694px; left: 1912px;">
	<div id='e1' onclick='test();' class="div_in_cell ui-draggable ui-draggable-handle" style="left: 120px; top: 0px;">
		test
		<img id='e1_0' onclick='test();' src="monsters/skull.png" class="monster_img">
		<div id='e1_1' onclick='test();' class="div_mob_index">1</div>
	</div>
</div>
<script type='text/javascript'>
document.getElementById("e0").addEventListener("click", function() { alert(this.id) }, true);
document.getElementById("e1").addEventListener("click", function() { alert(this.id) }, true);
document.getElementById("e1_0").addEventListener("click", function() { alert(this.id) }, true);
document.getElementById("e1_1").addEventListener("click", function() { alert(this.id) }, true);
</script>
</body>
</html>
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832818
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это в обратном порядке...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
div {
	border: 1px solid;
}
</style>
<script type='text/javascript'>
function test(Obj){
	alert(Obj.id);
};
</script>
</head>
<body>
<div id='e0' onclick='test(this);' class="div_in_cell ui-draggable ui-draggable-handle" style="top: 1694px; left: 1912px;">
	<div id='e1' onclick='test(this);' class="div_in_cell ui-draggable ui-draggable-handle" style="left: 120px; top: 0px;">
		test
		<img id='e1_0' onclick='test(this);' src="monsters/skull.png" class="monster_img">
		<div id='e1_1' onclick='test(this);' class="div_mob_index">1</div>
	</div>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832882
IcyWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если, можно, для новичка чуть подробнее. Откуда возьмется событие мыши на элементе? Ведь при выделении группы объектов мышь не проходит через элемент (разве что он окажется на диагонали выделяемой области).
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832977
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyWizardОткуда возьмется событие мыши на элементе?там на событие onclick, т.е. объекты выбираются кликом
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39832983
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39833088
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyWizardОткуда возьмется событие мыши на элементе?
Возьмется оно или нет это уже решать тебе...
Я лишь показал альтернативный вариант перебору элементов. Может так хоть родителя можно будет определить и перебирать только его элементы, а не все на странице.
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39833093
IcyWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяIcyWizardОткуда возьмется событие мыши на элементе?там на событие onclick, т.е. объекты выбираются кликом

Кликом не подходит, объектов может быть много. Смысл именно в том чтобы выделение было рамкой, как например выделяются графические объекты в Excel, или как в играх можно выделить отряд юнитов.

https://learn.javascript.ru/range-textrange-selection#range - это же только для текстовых элементов, а нужны блоки?
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39833098
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyWizardвадяпропущено...
там на событие onclick, т.е. объекты выбираются кликом

Кликом не подходит, объектов может быть много. Смысл именно в том чтобы выделение было рамкой, как например выделяются графические объекты в Excel, или как в играх можно выделить отряд юнитов.

https://learn.javascript.ru/range-textrange-selection#range - это же только для текстовых элементов, а нужны блоки?

выделение рамкой это уже векторное рисование. в броузере по умолчанию оно не предусмотрено.
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39833101
IcyWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Значит придется перебором.

Насколько понимаю, получается так:

- по старту выделения создаем div с видимой границей;

- расширяем его по mousemove;

- по mouseup:
перебираем элементы на странице, выбираем те что вошли в прямоугольник;
изменяем размер прямоугольника, обжимая его по максимально разнесенным элементам;
удаляем элементы со страницы, и добавляем их в div прямоугольника;

после этого работаем с ним как с обычным draggable элементом, а при клике на любую точку поля вне его проводим обратную операцию, возвращая элементы на страницу и убивая этот div в конце.


Нигде ничего упростить уже не получится?
...
Рейтинг: 0 / 0
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
    #39833253
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyWizardНигде ничего упростить уже не получится?проверяй, тогда узнаешь...
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]