2013-05-01 3 views
0

У меня есть несколько небольших изображений на моей странице и onmouseover. Я показываю div рядом с изображением. Все идет нормально. Однако, когда изображение находится в нижней части страницы, я хотел бы diplay div не под изображением, но выше. В основном, что я пытаюсь сделать, это проверить, где находится изображение, и если он находится внизу, я покажу div над изображением. То же самое, если изображение должно приближаться к правому краю, чтобы показать div слева.onmouseover show div регулировка x и y

Кто-нибудь знает какой-либо простой способ достичь этого?

Приветствия

+0

Можете ли вы опубликовать то, что вы сделали до сих пор? – Andre

+0

Всегда есть простой способ, но также и 1000 способов его достижения. Все зависит от разметки, которую вы используете. поэтому, не видя, что у вас есть, не ожидайте, что какой-нибудь полезный ответ будет полезен. Теоретически ожидать 100s :) –

+0

Ok.Lets see ... Мне нужно создать это динамически, поэтому у меня есть sb.Append («

"); sb.Append(" \"Hot "); sb.Append("
»); Как вы можете заметить, у меня уже есть позиция x и y. #divmarker + count - это div, который я хочу показать. Tks заранее – Snapper

ответ

1

не видя вашего кода, это немного трудно предложить «правильный» способ сделать это, но я хотел бы попробовать следующий метод (с использованием синтаксиса JQuery):

Первый , вычислите свой «порог» - какая бы ни была самая низкая точка, которую вы хотите отобразить под окном div. Вероятно, самый простой способ сделать это - $(document).height() и вычесть X пикселей.

Затем, при наведении, вычислите, где изображение находится на странице. Вы можете сделать это с помощью .offset();.

Если верхняя часть изображения выше порогового значения, отобразите div ниже, в противном случае отобразите div выше.

Примечание: в зависимости от того, как настроена ваша страница, вы можете рассчитать позиции каждого из них при загрузке, а затем применить класс к значениям ниже порогового значения и использовать их для правильного положения соответствующего div.

+0

Я понимаю ваш подход ... высота div неизвестна, но я попробую, тогда я вам сообщу. Как это работает с шириной? Должен ли я получить $ (document) .width/2, а если положение изображения x больше, я покажусь слева и наоборот? Другая проблема заключается в том, что я делаю это в коде, поэтому я не знаю «хороший» способ получить $ (document) .height – Snapper

Смежные вопросы