В течение последних нескольких часов я пытаюсь создать анимированный диалог, который будет инициировать анимацию puff, перетаскивается, и когда он будет закрыт, снова будет центрироваться при открытии. На данный момент у меня есть так, что анимация инициируется, она перетаскивается, но когда я закрываю и открываю ее, она фиксируется в том же положении, в которое она была перетащена.
Я попытался использовать открытую функцию, полную функцию в show/hide, установив div/dialog в функцию, используя позицию: center и yesah...
Во всяком случае, вот код:
frm_location.jsp:
//это в теге "a", похоже, не может отобразить его правильно
id = "NEW_LOCATION_BUTTON" href= "javascript: openDialog ('# dialog-form', '# popupBoxCancel', 'orange-theme', '625'); класс = "btn_sel">
jQueryDialog.js:
function openDialog (_dialog, _cancel, _theme, _size) {
jQuery(document).ready(function ($) {
$(_dialog).dialog({
autoOpen: true,
width: _size,
modal: true,
position: "center",
resizable: false,
draggable: true,
dialogClass: _theme,
show: {
effect: "puff",
percent: "-150",
duration: 250
},
hide: {
effect: "puff",
percent: "-150",
duration: 250,
},
});
$(_cancel).click(function() {
$(_dialog).dialog("close");
});
}
Взгляните на это. Я не уверен, как вы открываете диалог, но это нужно делать. Код jsfiddle
<div id='dialog'>PUFF</div>
<button id='reopen'>OPEN DIALOG</button>
$(function () {
$('#reopen').click(function () {
$( "#dialog" ).dialog({ position: 'center'});
$('#dialog').dialog('open');
});
$('#dialog').dialog({
autoOpen: true,
width: 200,
modal: true,
position: "center",
resizable: false,
draggable: true,
show: {
effect: "puff",
percent: "-150",
duration: 250
},
hide: {
effect: "puff",
percent: "-150",
duration: 250,
},
});
});