如果 window 曾经去过这些坐标那么...如果没有那么

If window has ever been to these coordinates then... if not then

我访问了 theannoyingsite.com,我注意到 windows 突然出现并四处走动。 (我去那里看看能不能偷看源代码。)

我能做到。

我的代码是-

<!doctype html>
<html>
<head>
<title>testing123</title>
</head>
<body>
<button id="button">testing123</button>
</body>
</html>
(function() {
var bottomofwin = document.activeElement.clientHeight;
  document.getElementById("button").onclick = function() {
    var wnd = window.open("about:blank", "test", "height=120px, width=120px");
    setInterval(function() {
      if(wnd.screenY != bottomofwin) {
      wnd.moveBy(0, 100);
      }else{
      wnd.moveBy(0, -100);
      }
    }, 2000);
    return false;
  };

})();

我试图制作一个片段,但 Whosebug 产生了一个错误。所以这是 JSFiddle - https://jsfiddle.net/tLf0aey2/ 我希望它在屏幕上弹跳。

你的window动作很好。要使 window 反弹,您需要跟踪其方向。

添加变量

var bottomofwin = window.screen.height; // This worked better for me...
var vertical_velocity = 1 // 1 = Down and -1 = Up

然后检查弹窗是否触及上边界或下边界,并相应改变方向:

if (wnd.screenY <= 20) {
    vertical_velocity = 1
}
if (wnd.screenY >= bottomofwin - 140) {
    vertical_velocity = -1
}

然后使用 vertical_velocity 作为您的 moveBy

的乘数
wnd.moveBy(0, vertical_velocity*100);

对水平方向执行相同的操作。

这是我的原型https://jsfiddle.net/sr86zb4L/

也许您需要稍微调整一下边距。

那你离真的很烦人更近了一步:D