2

在一个对话框中,我调整了一些图像的大小,然后将窗口强制设置为 sizeToContent。然后,我希望对话框以屏幕为中心。我怎样才能做到这一点?

4

3 回答 3

2

我还四处搜寻并查看 MDC 是否有任何可以将其居中但一无所获的东西,所以我创建了这个!这将适用于窗口和对话框。

var w=(screen.availWidth/2)-(document.getElementById('windowID').width/2);

var h=(screen.availHeight/2)-(document.getElementById('windowID').height/2);

window.moveTo(w,h);

您唯一必须更改的是windowID窗口的 ID 值。它适用于所有屏幕分辨率,因为它需要总屏幕宽度和高度,然后将其分成两半,从而给出屏幕中心,然后减去您的宽度和高度设置以将它们考虑在内,但也将它们除以一半以抵消没有偏移的窗口将不会居中。

我希望这有帮助!

于 2009-12-29T12:59:08.447 回答
1

最终结果将是一个可以自行移动的窗口?请不要让它太烦人:)

无论如何,您必须使用window.moveTo各种screen属性手动完成(请参阅https://developer.mozilla.org/en/DOM/window

这是一个有趣的例子,虽然它没有使窗口居中,但它确保它是可见的: http ://www.koders.com/javascript/fid3F51B87DFD457428278627805CCA8D39ADC13455.aspx?s=window#L3

于 2009-10-23T11:47:15.833 回答
1

一个<dialog>元素为您定义了 moveToAlertPosition() 和 centerWindowOnScreen() 便捷方法,并将它们复制到全局范围,因此您不必使用 document.documentElement 来确定它们的范围。

于 2009-10-28T20:02:03.743 回答