【发布时间】:2013-12-23 01:15:03
【问题描述】:
我有一个对话框,一旦 ajax 调用加载未知大小的图像,就会调用该对话框。我有一个最大高度和最大宽度。我发现了类似的问题,但答案并没有解决我的问题。到目前为止,我正在获取屏幕宽度并将其除以 4 以设置 X 坐标。然而,这并不完全使窗口居中。
var windowWidth = $(window).width()
var modalCenter = windowWidth/4;
$("#userImage").dialog({
autoOpen: false,
modal: true,
width: 'auto',
create: function (event, ui) {
$(this).css("maxWidth", "700px");
},
height: 'auto',
maxHeight: 600,
show: { effect: 'fold', duration: 250 },
position: [modalCenter, 100],
buttons: {
Cancel: function () {
$(this).dialog("close");
},
Crop: function () {
var x = $('#x').val();
var y = $('#y').val();
var w = $('#w').val();
var h = $('#h').val();
if (!checkCoords())
return false;
$.ajax({
url: "CropImage.aspx?x=" + x + "&y=" + y + "&w=" + w + "&h=" + h,
cache: false
}).done(function (html) {
//another ajax call will get all images as a list and display them where they can be set as primary images/subImages
})
}
}
});
这是一张图片:
【问题讨论】:
-
您可以创建一个jsFiddle 来展示您的问题吗?
-
您是否尝试过不设置位置以查看它出现的位置?看看这个:stackoverflow.com/questions/1839702/…
-
@Poornima 是的,我已经尝试了几种解决方案。
-
@Scott 我无法在小提琴中重新创建问题,因为在通过 ajax 将未知大小的图像加载到其中后,对话框窗口会打开。如果没有该 ajax 调用,问题就不会发生。
-
什么是“作物”?您是否扩展了 jquery 对话框小部件?对不起,如果我的问题很愚蠢,但这里没有列出api.jqueryui.com/dialog。
标签: javascript jquery html css ajax