Подтвердить что ты не робот

JQuery UI диалоговое окно без заголовка, но сохранить кнопку закрытия

Я хочу удалить titelbar в диалоговом окне jQuery. Но я хочу сохранить там закрытую (крестную) кнопку.

Я нашел этот вопрос:

диалоговое окно jquery UI: как инициализировать без заголовка?

В ответах там объясняется, как удалить заголовок, но если я это сделаю, он также удалит кнопку закрытия. Есть и другие ссылки, но все они делают то же самое. Они просто скрывают весь заголовок вместе с кнопкой закрытия.

Есть ли какое-либо решение, которое скрывает строку заголовка, сохраняя кнопку закрытия?

4b9b3361

Ответ 1

Используйте это, чтобы удалить панель титров в диалоговом окне jQuery, а не кнопку закрытия

 $(function() {
    $( "#dialog" ).dialog();
    $("#ui-dialog-title-dialog").hide();
    $(".ui-dialog-titlebar").removeClass('ui-widget-header');
 });

для новой версии jquery UI > 1.10.3

$("#dialog .ui-dialog-titlebar").css({ 
     "background-color" : "transparent", 
     "border" : "0px none" 
});

Ответ 2

Это тоже работает

$(function() {
$( "#dialog" ).dialog();
$(".ui-dialog-titlebar").removeClass('ui-widget-header');
});

Ответ 3

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

CSS

.CloseButton {
background: url('../icons/close-button.png');   
width:15px;
height:15px;
border: 0px solid white;
top:0;
right:0;
position:absolute;
cursor: pointer;
z-index:999;
}

HTML:

var closeDiv = document.createElement("div");
closeDiv.className = "CloseButton";

//добавьте этот div в div, содержащий ваш контент

JS:

 $(closeDiv).click(function () {
         $("yourDialogContent").dialog('close');
     });

Ответ 4

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

$("#dialog .ui-dialog-titlebar").css({ 
     "background-color" : "transparent", 
     "border" : "0px none" 
});

Ответ 5

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

.ui-dialog-titlebar { background: transparent; border: 0 none; }