【问题标题】:How do I move a window's position on the computer screen with javascript?如何使用 javascript 在计算机屏幕上移动窗口的位置?
【发布时间】:2011-12-12 02:43:58
【问题描述】:

我记得看到一个谷歌地图混搭/音乐视频,它在屏幕上创建、调整大小和移动窗口。使用哪些 javascript 方法来执行此操作?

【问题讨论】:

    标签: javascript jquery methods window


    【解决方案1】:

    我不知道这有多可靠,但是要相对于当前位置移动窗口,您可以这样做:

    window.moveBy(250, 250); //moves 250px to the left and 250px down
    

    http://www.w3schools.com/jsref/met_win_moveby.asp

    要将窗口移动到屏幕的某个部分:

    window.moveTo(0, 0); //moves to the top left corner of the screen (primary)
    

    http://www.w3schools.com/jsref/met_win_moveto.asp

    感谢@Dan Herbert:

    应该注意window.moveTo(0,0) 将移动到 主屏幕的左上角。对于多发的人 监视器,您还可以将负坐标发送到另一个位置 监视器。您可以检查要移动到的第二台显示器 screen.availLeft。如果是负数,您可以将窗口移动那么远 到第二台显示器上。

    【讨论】:

    • 应该注意到window.moveTo(0,0) 将移动到主屏幕 的左上角。对于拥有多台显示器的人,您还可以将负坐标发送到另一台显示器上的位置。您可以使用screen.availLeft 检查要移动到的第二台显示器。如果它是否定的,您可以将一个窗口移到第二台显示器上。
    • 优秀的评论。我将在我的答案中包含您的 cmets。
    • @DanHerbert 请注意 screen.availLeft 不适用于 IE 浏览器。
    【解决方案2】:

    通过谷歌快速搜索:Moving windows

    您正在寻找 Window.moveBy 和 window.moveTo

    我也记得那个视频,你选择你的家乡之类的?我很喜欢。

    【讨论】:

      【解决方案3】:

      您可以通过更改显示对象的上边距和左边距来移动显示对象的位置,这些边距是其左上角的坐标。如果您知道目标位置的绝对坐标,则可以更改边距,并且对象将移动到该点。

      如果您不知道绝对目标位置,但只知道两个相对增量(即,将窗口向上移动 5 个像素和向右移动 10 个像素),您可以读取对象的顶部和左侧边距,将它们增加适当的距离,并从中设置边距。

      边距是对象样式的一部分,所以你可以这样说:

        theobject.style.left = 10 + 'px'; 
        theobject.style.top  = 40 + 'px';
      

      对于定位的对象。

      【讨论】:

      • 我想你可能误解了我的意思。我不是在谈论页面上的元素。我说的是浏览器窗口本身。
      【解决方案4】:

      由于您的链接包含锚点“#”,当您单击链接时,它会将页面移回顶部。尝试将 href 替换为以下内容:

      href="javascript:void(0)"
      

      这将阻止 href 中的任何内容执行。

      【讨论】:

        猜你喜欢
        • 2017-02-06
        • 1970-01-01
        • 2023-03-07
        • 2022-12-14
        • 1970-01-01
        • 1970-01-01
        • 2016-10-21
        • 1970-01-01
        • 2010-11-10
        相关资源
        最近更新 更多