Как вы можете отключить полосы прокрутки в диалоговом окне jQuery UI? - PullRequest
31 голосов
/ 25 октября 2009

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

Ответы [ 7 ]

67 голосов
/ 20 сентября 2011

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

.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
  }
});
11 голосов
/ 22 декабря 2009

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

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

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

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

6 голосов
/ 25 октября 2009

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

поместите это в ваш css файл:

div.class_name {
  overflow: hidden;
}
3 голосов
/ 08 мая 2013

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

2 голосов
/ 26 августа 2014

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

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

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

}); 
1 голос
/ 06 августа 2014

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

$( "#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() ;
    }
});
0 голосов
/ 13 июня 2017

В примере ниже я также добавил '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");
});
...