recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment désactiver l'effet js des fenêtres nouvellement ouvertes dans js

J'ai créé un effet de tremblement de fenêtre, mais la fenêtre nouvellement ouverte a un effet de tremblement, mais je ne sais pas comment effacer l'effet et comment la fermer après avoir effacé l'effet...

<!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>
漂亮男人漂亮男人2752 Il y a quelques jours593

répondre à tous(4)je répondrai

  • phpcn_u1582

    phpcn_u15822017-05-18 10:59:11

    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() // 关闭窗口

    répondre
    0
  • 高洛峰

    高洛峰2017-05-18 10:59:11

    setTimeout(function () {
      clearInterval(timer);
    },1000);
    setTimeout(function () {
      w.close();
    },2000)

    répondre
    0
  • 黄舟

    黄舟2017-05-18 10:59:11

    if(loop>10){
          clearInterval(timer);
    }

    La boucle doit être supérieure à 10. Vous l'avez mal écrit. Donnez également une valeur initiale de zéro lors de la déclaration de la boucle.

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-18 10:59:11

    Effacez le minuteur puis exécutez une méthode pour fermer la fenêtre

    répondre
    0
  • Annulerrépondre