javascript – So deaktivieren Sie den JS-Effekt neu geöffneter Fenster in JS
漂亮男人
漂亮男人 2017-05-18 10:57:11
0
4
558

Ich habe einen Fensterrütteleffekt erstellt, aber das neu geöffnete Fenster hat einen Rütteleffekt, aber ich weiß nicht, wie ich den Effekt löschen und schließen kann, nachdem ich den Effekt gelöscht habe ...

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>窗口抖动</title>
</head>
<body>
<script>
    var w=window.open('','', 'width=100,height=100');
    w.resizeTo(300,300);
    var loop;
    var timer;
    var offX;
    var offY;
    var status = 1;
    timer = setInterval(function(){
        w.moveTo(100,100);
        if(loop<10){
            clearInterval(timer);
        }
        status = Math.random()*10 > 5 ? 1 : -1;
        offX = Math.random()*20*status;
        offY = Math.random()*20*status*-1;
        w.moveBy(offX,offY);
        loop++;
    },10);
</script>
</body>
</html>
漂亮男人
漂亮男人

Antworte allen(4)
phpcn_u1582
var w=window.open('','', 'width=100,height=100');
w.resizeTo(300,300);
var loop = 0;  // 设置默认值
var timer;
var offX;
var offY;
var status = 1;
timer = setInterval(function(){
    w.moveTo(100,100);
    // 设为大于
    if(loop > 10){
        clearInterval(timer);
    }
    status = Math.random()*10 > 5 ? 1 : -1;
    offX = Math.random()*20*status;
    offY = Math.random()*20*status*-1;
    w.moveBy(offX,offY);
    loop++;
},10);
w.close() // 关闭窗口
小葫芦
setTimeout(function () {
  clearInterval(timer);
},1000);
setTimeout(function () {
  w.close();
},2000)
黄舟
if(loop>10){
      clearInterval(timer);
}

这里应该是loop大于10,你写错了吧。还有声明loop的时候给个初始值零。

左手右手慢动作

清楚定时器,然后执行一个方法关闭窗口

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!