появление div
на некоторую картинку поставлены
table_title.childNodes[i].childNodes[j].childNodes[0].setAttribute('onmouseover', 'show('+i+','+j+')') table_title.childNodes[i].childNodes[j].childNodes[0].setAttribute('onmouseout', 'show('+i+','+j+')') как сделать так, чтобы появляющийся по функции function show(i,j) { table_title.childNodes[i].childNodes[j].childNodes[1].style.display = (table_title.childNodes[i].childNodes[j].childNodes[1].style.display == 'none') ? 'block' : 'none'; } div был всегда в области окна и не выезжал за его пределы. была задумка прописать для всех div-ов маргины (благо дивов 15), но может есть более легкий путь? |
Не совсем понятен Ваш вопрос. Может css position:fixed подойдет?
|
artnik, объясняю: страница полностью заплнена таблицей с картинками. При наведении уазателя на картинку, появляется всплывающая подсказка с информацией, которая немного смещена от картинки вправо и вниз. При наведении указателя на крайнюю правую картинку, подсказка уходит дальше вбок и приходится прокручивать страницу, чтобы ее прочитать. Такая же проблема с нижними элементами: половина подсказки уходит вниз, и приходится опять прокручивать страницу.
Позиция стоит абсолютная, тк если будет фиксированая, то подсказка будет прокручиваться вместе со страницей. Смещение делал с помощью выставления маргинов сверху и слева. Как решить эту проблему, кроме прописывания отдельных значений маргинов у правых и нижних элементов? |
ну тут нужна вычеслительная работа. Нужно поставить условие, приблизительно так:
if ((popup.offsetLeft + popupWidth) > windowWidth) { // если отступ от границы экрана слева + ширина попапа больше чем ширина экрана var x = windowWidth - (popup.offsetLeft + popupWidth); // узнаем насколько пикселей попап ушел вправо } После того как узнали на сколько попап вылез за экран, можно отнять енто значение от css left проперти |
Часовой пояс GMT +3, время: 23:08. |