Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 01:34:25

Страниц: [1] 2
Печать
Автор Тема: jquery dialog центрировать внутри кастомного контейнера  (Прочитано 698 раз)
0 Пользователей и 1 Гость смотрят эту тему.
krasun    ↓ 
16 Июль, 2011, 11:29:25
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

Использую  jQuery ui. Там по умолчанию dialog по центру окна открываеться, а как сделать, что бы по центру любого элемента? Самому указывать position или уже есть решения?
Спустя 1 минуту 43 секунды добавил
ну, может таесть что-то дефолтное , типа центрировать по парент контейнеру
Записан
mario    ↓ 
16 Июль, 2011, 11:37:22 , спустя 7 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

http://jqueryui.com/demos/dialog/#option-position
Спустя 39 секунд добавил
Specifies where the dialog should be displayed. Possible values:
1) a single string representing position within viewport: 'center', 'left', 'right', 'top', 'bottom'.
2) an array containing an x,y coordinate pair in pixel offset from left, top corner of viewport (e.g. [350,100])
3) an array containing x,y position string values (e.g. ['right','top'] for top right corner).
Code examples
 
Initialize a dialog with the position option specified.
 
    $( ".selector" ).dialog({ position: 'top' });
 
Get or set the position option, after init.
 
    //getter
    var position = $( ".selector" ).dialog( "option", "position" );
    //setter
    $( ".selector" ).dialog( "option", "position", 'top' );
 
Записан

с ув. mario.
Контакты
krasun    ↓ 
16 Июль, 2011, 11:52:32 , спустя 15 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

mario, ))) сенкс, но это я знаю, ман у меня всегда открыт. Просто если position: center, то это по центру окна или body, а что если я хочу, что бы окно появлялось по центру другого div, например, думал, может кто сталкивался.
 
Записан
mario    ↓ 
17 Июль, 2011, 12:00:54 , спустя 8 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

HTML
<body>
<div id=my-div>
<!-- тут дожен быть диалог -->
</div>
</body>
если задать этому диву поситион - релатив
и сделать так:
Javascript
$( "#my-div" ).dialog( "option", "position", 'center' );
то должно получиться то что ты хочешь.
Спустя 59 секунд добавил

mario, ))) сенкс, но это я знаю, ман у меня всегда открыт. Просто если position: center, то это по центру окна или body, а что если я хочу, что бы окно появлялось по центру другого div, например, думал, может кто сталкивался.
ты не думай что я тупо доку привел, просто сейчас пример не вспомню в каком проекте делалсо.
Записан

с ув. mario.
Контакты
Stasovsky    ↓ 
17 Июль, 2011, 12:01:10 , спустя 16 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 54
Сообщений: 3653
Сила слова: 1.48

я так понимаю, окошко аппендят в конец страницы, по этому придется определять offset().left/top блока, относительно которого будешь прыгать... а чтоб определить его центр, еще нуна ширину и высоту... ну если там можно значения задавать в пикселях))
Записан
mario    ↓ 
17 Июль, 2011, 12:02:13 , спустя 1 минуту 3 секунды
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

если задать этому диву поситион - релатив
или задать родителю, точно не помню.
Спустя 50 секунд добавил

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

с ув. mario.
Контакты
krasun    ↓ 
17 Июль, 2011, 12:04:41 , спустя 2 минуты 28 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

пока так, норм?
Javascript

        // $appCon node относительно которого центрирую
        var positionX = $appCon.position().left + $appCon.width() / 2 - $crGmDlg.dialog("option", "width") / 2;
        var positionY = $appCon.position().top + $appCon.height() / 2 - $crGmDlg.dialog("option", "height") / 2;
        var position  = [Math.round(positionX), Math.round(positionY)];
 

сейчас попробую еще с position=relative
Записан
Stasovsky    ↓ 
17 Июль, 2011, 12:05:29 , спустя 48 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 54
Сообщений: 3653
Сила слова: 1.48

а нахуй ему тогда селектор ;)
какой селектор? я опять чет не дочитал?))
Записан
krasun    ↓ 
17 Июль, 2011, 12:08:52 , спустя 3 минуты 23 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

стоп,  style="position:relative" у кого ставить у родителя или у дайлога?
Записан
krasun    ↓ 
17 Июль, 2011, 12:14:48 , спустя 5 минут 56 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

и родителю dialogа ставлю и дайлогу не выходит
 
HTML

 
{% block content %}   
   
    {# Main application container node #}
    <div id="appContainer" style="position:relative">       
   
       
        {# Dialogs #}   
        {# Create game dialog #}
        <div id="createGameDialog" title="Create game" style="position:relative">
            {# content #}
        </div>
    </div>
   
{% endblock %}
 
Записан
mario    ↓ 
17 Июль, 2011, 12:17:45 , спустя 2 минуты 57 секунд
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

krasun, если хочешь, я поищу в проектах. Но это только завтра... Сегодня я выпил ужо )
Записан

с ув. mario.
Контакты
krasun    ↓ 
17 Июль, 2011, 12:18:24 , спустя 39 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

mario, окей, мне не к спеху. Я буду очень признателен.
Записан
mario    ↓ 
17 Июль, 2011, 12:25:16 , спустя 6 минут 52 секунды
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

<div id="createGameDialog" title="Create game" style="position:relative">
у тебя тут ошибка, поситион релатив нужно указывать родителю.
 

А так вот, вроде бы так делал:
http://jqueryui.com/demos/position/
Javascript
$( "#dialog" ).dialog();
$("#dialog").position({
   my: "center",
   at: "center",
   of: $( "#dialog" )
});
Спустя 1 минуту 35 секунд добавил
http://jqueryui.com/demos/position/default.html
вот оч. наглядный пример по position
« Последнее редактирование: 17 Июль, 2011, 12:23:11 от mario » Записан

с ув. mario.
Контакты
krasun    ↓ 
17 Июль, 2011, 01:04:54 , спустя 39 минут 38 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

Javascript

        // module vars initialization
        this.$appContainer = $('#' + this.getContext().appContainerNodeId);
        this.$createGameDialog = $("#createGameDialog");
       
        this.$createGameDialog.dialog({
            autoOpen: false,
            height: 400,
            width: 450,           
            draggable: false,
            resizable: false,
            modal: true});     
       
        this.$createGameDialog.position({           
            my: "center",
            at: "center",
            of: this.$appContainer
        });
 

может какие-то свойства еще в css надо прописать, а то выходит, такая штука:
Записан
mario    ↓ 
17 Июль, 2011, 01:09:12 , спустя 4 минуты 18 секунд
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

завтра попробую найти пример. )
Записан

с ув. mario.
Контакты
Страниц: [1] 2
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, Frozzeg, artoodetoo