Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Вывести блок по центру и по координате


Автор: EugenyPavlenko 2.8.2008, 12:33
Здравствуйте,

  Наверняка вопрос поднимался, но найти решение не смог.

  Что есть:
   1. ДИВ блок с динамическим контентом

  Что нужно:
   1. Js-функция которая отцентрирует этот блок по середине, учитывая прокрутку и все дела.

Код

centerBlock( 'myDiv' );


   2. Js-функция которая выведет этот блок исходя из координат, где произошел клик с небольшим смещением. Так же должна учитываться прокрутка и все дела (чтобы он не заезжал за экран).

Код

<img src="123.gif" onclick="javascript: showByCoords( coords, 'myDiv' );>


В коде указано, примерно, как по идеи должны выглядеть функции... правда с coords я не уверен....

Проблема еще и в том что это должно работать в ИЕ7, Опера, ФФ, Сафари...


У кого-нить есть готовое решение или линк на решение?

СпасибО!

Автор: EugenyPavlenko 2.8.2008, 13:38
Кое что удалось достичь по первой (1) ф-ции...

Код


.cElem
{
    position: fixed;
    top: expression((eval(document.body.scrollTop)+this.offsetHeight) + "px");
    left: 50%;
    margin-left: expression((0-((this.offsetWidth)/2)) + "px");
    z-index:100px;
}


Только тут есть небольшая загвоздка - все работает КРОМЕ строчки:
Код

    margin-left: expression((0-((this.offsetWidth)/2)) + "px");


Т.е вертикально все хорошо, 50% отступ слева тоже есть, НО нет небольшого смещения назад, чтобы было ровно по центру...
Мне кажется проблем в this.offsetWidth...

Не подскажете как исправить?

П.с: кому не трудно проверьте под ИЕ плз... у меня тут его нет...

Добавлено через 3 минуты и 2 секунды
Только что выяснил что: 
Код

+this.offsetHeight


тоже ничего не дает... что с ним что без - один результат....

Добавлено через 9 минут и 12 секунд
мда... помоему там весь ЭКСпрешн не работает....

Автор: JSman 3.8.2008, 12:04
Цитата(Dzuchara @  2.8.2008,  12:33 Найти цитируемый пост)
1. Js-функция которая отцентрирует этот блок по середине, учитывая прокрутку и все дела.

а чем тебе css не нравится vertical-align, text-align?
тебе только top надо указывать. а его и считать через expression если уж так он тебе понравился

мда... Надо мне аватар сменить=)

Автор: EugenyPavlenko 3.8.2008, 12:13
JSman, 

Цитата

мда... Надо мне аватар сменить=)


=)))))))))))))))))))))))

Первую задачу я решил - нашел на этом форуме похожую тему... Там делается через: див+тейбл.

Однако вторая проблема осталась.....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)