Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2009, 21:09
Koc Koc вне форума
Аспирант
Отправить личное сообщение для Koc Посмотреть профиль Найти все сообщения от Koc
 
Регистрация: 21.09.2009
Сообщений: 59

jPopUp, centering
День добрый, наконец-то я решил, что стоит посещать этот форум (как помощь понадбилась).

Пишу 2 плагина.

1) отцентровка элементов.
таких плагинов много, мой - один =)

настройки, которые планируются:
how : 'vh', // v/h/vh
relativeTo : 'screen', // parent/screen/document
center : 'now', // now/scroll/resize/sr
calculateOnly : false // true/false
и по русски с объяснением
* как центрировать: только горизонтально, только вертикально, и так и так
* относительно чего центрировать: родительского элемента, видимой области экрана, всего документа
* центрировать: сейчас, оставлять элемент отцентрированным при прокрутке, при ресайзе, и так и так
* только посчитать и вернуть значения, сам элемент не трогать


не все еще работает. Я не знаю как сделать разные настройки при горизонтальном и вертикальной отцентровке. Наверно это и не получится даже. Ну например горизонтально отцентрировать относительно экрана, а вертикально - отн-но родителя. Тут же нужны разные position.

пример ака демка http://tinyurl.com/nfnfns


2) модальные окна/попапы
лень писать. Просто окна модальные, с кучей настроек. Будет время - отпишу подробнее.
Пока делаю ядро, потом буду базовыми эффектами заниматься, далее над блокировкой отдельных элементов по селектору, потом над блокировкой всего кроме отдельных элементов и так далее.

пример ака демка http://tinyurl.com/lgvn9r

в чем я нуждаюсь по поводу попапа:
в деньгах^W, сиськах^W

Проверял в Safari 3, FF 3.5.3
IE не работает совсем. Нужна помощь. Так же прошу помощи по проектированию. Сейчас при объявлении new jPopUp заново все локальные методы объявляются. Поэтому сразу же открывать popUp нельзя. Как быть?
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2009, 22:53
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

1)ИМХО:
я бы сделал настройки в виде хеш-массива
его три элемента- v,h,vh соответсвенно
в каждом из них массив остальных настроек
любой из них может быть null, либо содержать в себе null-ы
при этом соответсвующая натсройка берется из общего(vh), либо по дефолту(не центровать)
таким образом можно комбинировать центровку как угодно:
$("elem").center({vh:{relativeTo:'screen',center:'now'}});
$("elem").center({v:{relativeTo:'screen',center:'now'},
                         h:{relativeTo:'parent',center:'scroll'}});
$("elem").center({v:{relativeTo:'screen',center:'now',},
                         h:{relativeTo:'parent'},
                         v:{relativeTo:'screen',center:'now'}});
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2009, 23:04
Koc Koc вне форума
Аспирант
Отправить личное сообщение для Koc Посмотреть профиль Найти все сообщения от Koc
 
Регистрация: 21.09.2009
Сообщений: 59

Gvozd,
хм, очень клевое предложение. Еще можно так сделать: если не задан h, v, vh а сразу настройки - применять их к vh.

Только вот проблема остается: центрирование по отношению к документу требует абсолютного позиционирования, по отношению к родителю - относительного. Да, наверно возможно все по абсолютному позиционированию делать и при ресайзе/скроллинге пересчитывать координаты, но тогда все происходит не плавно (лагает).


зы: добавил helper к попапу - fsLoading.show(); fsLoading.hide(); - показ гифки с очень большим zIndex и position: fixed. Кто-то может объяснить, почему он не работает без setTimeout?
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2009, 23:06
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

То, что сразу заметно:

1. в первом скрипте не учитывается resize окна браузера.
2. во втором скрипте, в 4 и 5 примерах, некоторые глюки в Chrome.
Ответить с цитированием
  #5 (permalink)  
Старый 21.09.2009, 23:10
Koc Koc вне форума
Аспирант
Отправить личное сообщение для Koc Посмотреть профиль Найти все сообщения от Koc
 
Регистрация: 21.09.2009
Сообщений: 59

1) ресайз учитывается если кникнуть на "центрируйся два!" (а что, если учитывать горизонтальную прокрутку и вертикальную по отдельности?)

2) хрома нет, буду ставить, смотреть.
Ответить с цитированием
  #6 (permalink)  
Старый 21.09.2009, 23:22
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Koc,
возможно, стоит отслеживать window.onresize , а еще лучше, что бы это можно было в настройках включать.
Ответить с цитированием
  #7 (permalink)  
Старый 21.09.2009, 23:35
Koc Koc вне форума
Аспирант
Отправить личное сообщение для Koc Посмотреть профиль Найти все сообщения от Koc
 
Регистрация: 21.09.2009
Сообщений: 59

Riim,
ну там же настройки есть: учитывать ресайз, скролл, скролл и ресайз.
посмотри исходник странички с примером
Ответить с цитированием
  #8 (permalink)  
Старый 22.09.2009, 00:38
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Есть, так есть, я просто в код не заглядывал.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск