1. 面向开发者的 Web 技术
  2. Web API
  3. Window
  4. Window.screenTop

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Window.screenTop

基线 广泛可用 *

自 2018年12月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

* 此特性的某些部分的支持程度可能有所不同。

Window.screenTop 只读属性返回垂直距离,单位是 CSS 像素,从用户浏览器的上边界到屏幕最顶端。

备注:screenTop is an alias of the older Window.screenY property. screenTop was originally supported only in IE but was introduced everywhere due to popularity.

A number equal to the number of CSS pixels from the top edge of the browser viewport to the top edge of the screen.

例子

In our screenleft-screentop example, you'll see a canvas onto which has been drawn a circle. In this example we are using screenLeft/screenTop plus Window.requestAnimationFrame() to constantly redraw the circle in the same physical position on the screen, even if the window position is moved.

js
initialLeft = window.screenLeft + canvasElem.offsetLeft;
initialTop = window.screenTop + canvasElem.offsetTop;
function positionElem() {
 let newLeft = window.screenLeft + canvasElem.offsetLeft;
 let newTop = window.screenTop + canvasElem.offsetTop;
 let leftUpdate = initialLeft - newLeft;
 let topUpdate = initialTop - newTop;
 ctx.fillStyle = "rgb(0, 0, 0)";
 ctx.fillRect(0, 0, width, height);
 ctx.fillStyle = "rgb(0, 0, 255)";
 ctx.beginPath();
 ctx.arc(
 leftUpdate + width / 2,
 topUpdate + height / 2 + 35,
 50,
 degToRad(0),
 degToRad(360),
 false,
 );
 ctx.fill();
 pElem.textContent =
 "Window.screenLeft: " +
 window.screenLeft +
 ", Window.screenTop: " +
 window.screenTop;
 window.requestAnimationFrame(positionElem);
}
window.requestAnimationFrame(positionElem);

Also in the code we include a snippet that detects whether screenLeft is supported, and if not, polyfills in screenLeft/screenTop using Window.screenX/Window.screenY.

js
if (!window.screenLeft) {
 window.screenLeft = window.screenX;
 window.screenTop = window.screenY;
}

规范

规范
CSSOM View Module
# dom-window-screentop

浏览器兼容性

参考

帮助改进 MDN

了解如何参与贡献

此页面最后更新于 ,由 MDN 贡献者更新。

AltStyle によって変換されたページ (->オリジナル) /