Как расположить указатель мыши на основе положения элемента

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

Пожалуйста, ознакомьтесь со следующим jsfiddle: http://jsfiddle.net/bhellman1/Na3hd/11 /

Прямо сейчас, когда вы перемещаетесь по блоку, hoverbox отображается в одном и том же месте для всех элементов.

Что я хотел бы сделать, так это расположить поле наведения курсора мыши в зависимости от того, на какой #box.corner вы наведены. Если #box.corner находится слева от поля, я бы хотел, чтобы поле наведения курсора находилось слева, за пределами поля, по центру угла…. Если вы наведете курсор мыши на #box.corner, который находится в правом нижнем углу, я бы хотел, чтобы поле наведения отображалось в правом нижнем углу по центру угла.

Есть идеи о том, как это сделать?

Спасибо

Комментарии:

1. Пожалуйста, разместите свой код здесь также; jsfiddles имеют тенденцию исчезать.

Ответ №1:

Если я правильно прочитал ваш вопрос, это должно быть то, что вы ищете: http://jsfiddle.net/Na3hd/17 /

Как вы можете видеть, я изменил некоторые css, чтобы сопоставить то, что у разных элементов больше общего, чтобы код можно было легко использовать повторно и назначать другим элементам. Я переместил определение hoverbox в функцию mouseenter, чтобы div для каждого mouseenter создавался новый, что не приведет к усложнению при настройке позиций.

Надеюсь, это поможет!

Редактировать

Здесь более динамичный подход: http://jsfiddle.net/Na3hd/22 /

Кроме того, я только что понял, что вы хотели, чтобы эти элементы отображались за пределами полей.

Комментарии:

1. Интересная проблема заключается в том, что это жестко запрограммировано, а не динамично, поэтому на самом деле это не сработает… Мне нужно, чтобы он динамически вычислял положение, чтобы он работал с блоками любого размера / местоположения. Если элемент находится на 50% в правой части окна, мне нужно, чтобы он отображался справа,

2. Пожалуйста, опубликуйте код здесь после того, как все будет проработано; jsfiddles имеют тенденцию исчезать. 🙂