Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery) / 15 сообщений из 15, страница 1 из 1
02.07.2019, 08:34
    #39832570
IcyWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
По странице разбросаны 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
02.07.2019, 09:33
    #39832586
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
IcyWizardНе перебирая все элементы на странице.
Только перебором...
...
Рейтинг: 0 / 0
02.07.2019, 10:00
    #39832592
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
IcyWizard,
цель такого?
...
Рейтинг: 0 / 0
02.07.2019, 10:23
    #39832600
IcyWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
Выделение элементов чтобы их можно было перетащить не по 1, а группой
...
Рейтинг: 0 / 0
02.07.2019, 15:05
    #39832795
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
IcyWizardВыделение элементов чтобы их можно было перетащить не по 1, а группой
Т.е. будет событие мыши?
Так хоть всплытие можно будет попробовать использовать...
...
Рейтинг: 0 / 0
02.07.2019, 15:26
    #39832805
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
Так хоть список элементов можно определить...

Код: 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
02.07.2019, 15:39
    #39832818
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
Это в обратном порядке...

Код: 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
02.07.2019, 16:56
    #39832882
IcyWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
Если, можно, для новичка чуть подробнее. Откуда возьмется событие мыши на элементе? Ведь при выделении группы объектов мышь не проходит через элемент (разве что он окажется на диагонали выделяемой области).
...
Рейтинг: 0 / 0
02.07.2019, 18:56
    #39832977
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
IcyWizardОткуда возьмется событие мыши на элементе?там на событие onclick, т.е. объекты выбираются кликом
...
Рейтинг: 0 / 0
02.07.2019, 19:11
    #39832983
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
...
Рейтинг: 0 / 0
03.07.2019, 08:26
    #39833088
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
IcyWizardОткуда возьмется событие мыши на элементе?
Возьмется оно или нет это уже решать тебе...
Я лишь показал альтернативный вариант перебору элементов. Может так хоть родителя можно будет определить и перебирать только его элементы, а не все на странице.
...
Рейтинг: 0 / 0
03.07.2019, 08:55
    #39833093
IcyWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, есть ли элементы в заданной зоне координат на странице? (JS/JQuery)
вадяIcyWizardОткуда возьмется событие мыши на элементе?там на событие onclick, т.е. объекты выбираются кликом

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

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

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

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

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

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

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

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

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

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


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


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