2011-01-12 3 views
0

У меня есть слой, который открывается как подсказка каждый раз, когда я нажимаю кнопку. Я просто сделал это, создав функцию JS, которая отображает или скрывает слой.Условное положение для всплывающей подсказки

Теперь я не профессионал в JavaScript. Моя проблема заключается в следующем: когда кнопка прокручивается к верхней части экрана, я хочу открыть всплывающую подсказку ниже - и если кнопка находится около нижней части экрана, я хочу, чтобы всплывающая подсказка открывалась выше. Прямо сейчас я просто сделал это с абсолютным позиционированием. Но, очевидно, это не делает трюк.

Кто может помочь? Благодаря!

+0

a) 11 вопросов, и вы не приняли никаких ответов? Зачем вам кто-нибудь помогать? б) Почему бы просто не использовать атрибут 'title' на вашей кнопке для стандартной подсказки браузера? – Phrogz

ответ

1

Абсолютное положение для наконечника Я думаю, что это правильный выбор!

Когда вы открываете его (то есть, когда вы переходите через кнопку), проверьте, соответствует ли его Y offsetTop значение < = из средней (воображаемой) линии страницы (window.innerHeight или (IE case) document.body. clientHeight разделен на 2).

Например, раствор может быть (более или менее):

Отредактировано: check this fiddle example (набор "расширить" высоту, чтобы увидеть, как это работает;))

Edited (2): в настоящее время работает на IE слишком

когда страница прокручивается (и вы хотите сохранить в подсказке открыта -> вы не используете MouseOut), вы можете перепроверить открытые советы и организовать их снова

+0

Когда я копирую ваш код, он, похоже, не работает. Я вижу всплывающую подсказку, но она вообще не меняет позиции. Есть идеи? – Denise

+0

@ Фиона у вас есть видимый пример? Вы проверяли скрипку, работает ли она так, как ожидалось? – stecb

+0

Нет У меня нет видимого примера. Скрипка одна хорошо работает. Но после копирования на моей машине это не работает. – Denise

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