Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2024, 13:49
Аспирант
Отправить личное сообщение для raja Посмотреть профиль Найти все сообщения от raja
 
Регистрация: 22.09.2016
Сообщений: 40

Как сделать, чтобы на графике показывались координаты курсора x и y относительно како
Допустим, есть какой-то график в блоке. как сделать, чтобы, если курсор над блоком, в режиме реального времени от курсора вниз и влево тянулись прямые к осям координат, и отображались координаты?
как на прикреплённом изображении.
Изображения:
Тип файла: jpg Vector 193.jpg (8.8 Кб, 6 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2024, 15:32
Аспирант
Отправить личное сообщение для raja Посмотреть профиль Найти все сообщения от raja
 
Регистрация: 22.09.2016
Сообщений: 40

а если он ещё никак не сделан? надо с нуля это сделать. как вычислить координаты курсора относительно левого нижнего угла блока и выводить линии влево и вниз в реальном времени?
Ответить с цитированием
  #3 (permalink)  
Старый 12.07.2024, 11:59
Аспирант
Отправить личное сообщение для raja Посмотреть профиль Найти все сообщения от raja
 
Регистрация: 22.09.2016
Сообщений: 40

Я сделал как надо, но теперь при наведении на синий квадрат координаты отображаются неправильно. Как сделать, чтобы синий квадрат не влиял на отображение координат?
<div id="outer" style="margin:100px; position: relative;">
	<div id="block" style="border: 1px solid black; width: 400px; height: 400px">
		<div style="border: 1px solid black; width: 100px; height: 100px; margin: 50px; background-color: blue;"></div>
	</div>
</div>
<style>
.sign, #block{
	position: absolute;
}
.perpe{
	border: 1px dashed #d4d4d4;
	border-bottom: none;
	border-left: none;
	position: absolute;
	pointer-events: none;
	//bottom: 0px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>

	const block = document.querySelector('#block')

	block.addEventListener('mousemove', function (e) {
		//console.log(e.offsetX, e.offsetY);
		var height = $(this).height();
		var Y = $(this).height() - e.offsetY;
		$('.sign').remove();
		$('.perpe').remove();
		$('#outer').append('<div class="perpe" style="top: '+e.offsetY+'; width: '+e.offsetX+'; height: '+Y+'; "></div>');
		$('#outer').append('<div class="sign" style="top: '+e.offsetY+'; left: -25px; ">'+Y+'</div>');
		$('#outer').append('<div class="sign" style="top: '+height+'; left: '+e.offsetX+'; ">'+e.offsetX+'</div>');
	});
	block.addEventListener('mouseout', function (e) {
		$('.sign').remove();
		$('.perpe').remove();
	});
</script>

https://playcode.io/1935906
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы кнопка «Назад» работала бы в пределах определенного сайта? Askeer Общие вопросы Javascript 7 14.10.2016 12:23
Как сделать чтобы кнопка «Назад» работала бы в пределах определенного сайта? Askeer Общие вопросы Javascript 0 12.10.2016 18:58
Как сделать, чтобы при вводе числа в поле добавлялись разделители групп разрядов? Hurray Элементы интерфейса 13 18.02.2015 14:07
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24