Как сделать, чтобы на графике показывались координаты курсора x и y относительно како
Вложений: 1
Допустим, есть какой-то график в блоке. как сделать, чтобы, если курсор над блоком, в режиме реального времени от курсора вниз и влево тянулись прямые к осям координат, и отображались координаты?
как на прикреплённом изображении. |
а если он ещё никак не сделан? надо с нуля это сделать. как вычислить координаты курсора относительно левого нижнего угла блока и выводить линии влево и вниз в реальном времени?
|
Я сделал как надо, но теперь при наведении на синий квадрат координаты отображаются неправильно. Как сделать, чтобы синий квадрат не влиял на отображение координат?
<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 |
Часовой пояс GMT +3, время: 15:31. |