Resize jquery dialog
Добрый день. Пытался вызвать функцию в момент открытия окна . Получилось прицепить на resize, но в open не отрабатывает. Подскажите почему ?
var changeDialog = function() { var w = $('.ui-dialog').outerWidth(); var marl = w / 2; var wiw = $( window ).innerWidth(); if ( wiw >= 600) { $('.ui-dialog').css({'left':'50%', 'width': '570px', 'margin-left':-marl+ 'px'}); } else { $('.ui-dialog').css({'margin-left':'0px', 'left':'0px', 'width':'auto', 'min-width':'0'}); } } $(window).on('resize',function() { changeDialog(); }); $( "#dialog-load" ).dialog({ autoOpen: false, draggable: false, width:'auto', open:function(event, ui) { changeDialog(); }, }); |
katamason,
почему вы решили что несрабатывает? и зачем бессмысленно вычислять то что вам известно заранее Цитата:
|
Просто окно не меняет положение при открытии. Стоит только на милиметр подвинуть окно при <600 окна, тогда только ресайз ресайз и работает. Вот и вынужден это расценить, что не срабатывает
|
katamason,
:) 'margin-left': '-285px' думаю и сами сосчитали |
Цитата:
|
katamason,
перед открытием можно присваивать необходимый класс а отследить вы веть чемто его открываите ставьте перед открытием что вам необходимо вариант $( "#opener" ).click(function(){ var wiw = $( window ).innerWidth(); if ( wiw >= 600) $("#dialog").dialog( "option", "dialogClass", "new_class" ); $( "#dialog" ).dialog( "open" ); return false; }); |
Часовой пояс GMT +3, время: 13:05. |