Модальный плагин LightFace и проблема ширины и высоты - PullRequest
0 голосов
/ 18 августа 2011

Я работаю с LightFace, и он работает нормально. Я получаю данные со стороны сервера и назначаю данные в диалог LightFace, но проблема в том, что высота и ширина диалога не увеличиваются в зависимости от размера содержимого поэтому, пожалуйста, объясните мне, что мне нужно исправить в коде. я дал небольшую часть своего кода. Мне нужно, чтобы диалог увеличивался и уменьшался в зависимости от размера контента. пожалуйста, наведите меня с небольшим кодом. спасибо

 var modal = "";
    var sHtml = "";

    jQuery.noConflict();
    jQuery(document).ready(function () {
        jQuery("#btnFeedback1").click(function () {
            var modal = new LightFace({
                draggable: true,
                height: 200,
                width: 300,
                title: 'My Profile',
                content: '<div class="BusyStyles"><div>',
                buttons: [
                { title: 'OK', event: function () {
                    if (Validate()) {
                        if (Save()) {
                            this.close();
                        }
                    }
                }
                },
                { title: 'Close', event: function () { this.close(); } }
            ]
            }).open();

            jQuery.ajax({
                type: "POST",
                url: "Dialog_LightFace.aspx/GetHtml",
                data: {},
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    sHtml = data.d;
                    modal.load(jQuery(sHtml).find('#frm').html())
                    //modal.load('<div css="BusyStyles"><img src="images/fbloader.gif" border="0" /><div>');
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                }

            });

            return false;
        });
    });

1 Ответ

0 голосов
/ 18 августа 2011

Если вы можете, пожалуйста, попробуйте сделать JSFiddle с некоторым примером кода.Нам легче отлаживать.

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

Попробуйте сделать следующее:

  • Remove .open ();после создания модального экземпляра var
  • Поместите это в jQuery.ajax.success:

    success: function (data) {
      sHtml = data.d;
      modal.load(jQuery(sHtml).find('#frm').html()).open();
    }
    

Если это не помогает, попробуйте установить width и height до 'auto' и посмотрите, что произойдет.

Правка

Установка ширины и высоты программно:

jQuery.ajax({
   type: "POST",
   url: "Dialog_LightFace.aspx/GetHtml",
   data: {},
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   success: function (data) {
     var sHtml = data.d;

     // Get the element and dimensions
     var element = jQuery(sHtml).find('#frm');
     var width = element.width();
     var height = element.height();

     var modal = new LightFace({
       // all other options plus:
       width: width,
       height: height
     });
     modal.load(element.html()).open();
   },
   error: function (XMLHttpRequest, textStatus, errorThrown) {
     alert(textStatus);
   }
});

Этот кодможет потребоваться небольшая настройка, потому что я пишу это напрямую, но это иллюстрирует, как это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...