Как вы можете отключить полосы прокрутки в диалоговом окне jQuery UI?

StackOverflow https://stackoverflow.com/questions/1619750

Вопрос

Кто-нибудь знает, есть ли способ отключить полосы прокрутки в диалоговом окне jquery? Содержимое, которое у меня есть в div, составляет 300 пикселей, но в диалоговом окне установлено значение 200 пикселей. Он автоматически ставит полосы прокрутки, но я не хочу их. Я добавлю это сам ко второму div, который делает его больше, чем окно. Любая помощь приветствуется.

Это было полезно?

Решение

Вы имеете в виду виджет диалогового окна jQuery UI ?

Вы можете передать параметр при его создании, чтобы указать его высоту, например.

$('.selector').dialog({ height: 350 });

Сделайте его выше, чем содержимое, которое вы в него помещаете, и я подозреваю, что вы станете золотым.

Другие советы

Я решил проблему следующим образом:

.dialog({
  title: $(this).attr("data-dialog-title"),
  closeOnEscape: true,
  close: function () { $(this).remove() },
  draggable: true,
  position: 'center',
  width: 500,
  height: 'auto',
  modal: true,
  open: function (event, ui) {
    $('#myDialogId').css('overflow', 'hidden'); //this line does the actual hiding
  }
});

Я не знаю точно, что вы подразумеваете под «диалоговым окном jquery», но стандартным способом отключения полос прокрутки было бы установить свойство переполнения div на «скрытый»

поместите это в свой CSS-файл:

div.class_name {
  overflow: hidden;
}

Переполнение: скрытое сработало для меня. При настройке только параметров высоты / ширины полосы прокрутки будут по-прежнему отображаться в зависимости от размера текста и масштаба.

Решение без CSS или фиксированной высоты:

Я думаю, что лучшее решение вышеуказанной проблемы - сделать динамическую высоту диалога, высота должна автоматически изменяться в соответствии с содержимым, когда содержание увеличивается, модальная высота должна увеличиваться. Для этого используйте высоту " auto " опция, предоставляемая модальным интерфейсом Jquery, регулирует модальную высоту в соответствии с содержимым, поэтому необходимо добавить 'overflow: hidden' или 'height: 350'

$( "#dialog" ).dialog({
modal : true,
height:"auto"

}); 

Это убрало полосы прокрутки:

$( "#dialog" ).dialog({
    autoOpen: false,
    resizable: false,
    dialogClass: 'info',
    height: 'auto',
    width: 'auto',
    show: { effect: "blind", duration: 1000 },
    hide: {effect: "explode", duration: 1000 },
    draggable: true,
    open: function (event, ui) {
        $(this).dialog('open');
    },
    close: function (event, ui) {
        cleanup() ;
    }
});

В приведенном ниже примере я также добавил 'resizable = false' для диалога. Так что любой переполненный текст нельзя увидеть, изменив размер диалогового окна.

$("a#registerServerStudio , a#regServer").click(function(e) {
    //alert("login using POST is Clicked");
    e.preventDefault();
    registerSuccess = false;

    regSSDlg = $("#regSS").dialog({
      autoOpen: false,
      height: 280,
      width: 420,
      modal: true,
    resizable: false,
      buttons: {
      },
      close: function() {
        registerSuccess = false;
      },
    show:{effect:'bounce', duration: 100},

    });
  $('#regSS').css('overflow', 'hidden');
    regSSDlg.prev(".ui-dialog-titlebar").css({"background":"#47669E", "color":"white", "font-size":"13px", "font-weight":"normal"}) ;

    regSSDlg.dialog("open");
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top