Autoclose alert

后端 未结 4 2067
醉酒成梦
醉酒成梦 2020-12-04 02:05

Is there any way to close a javascript alert() automatically?

I have an alert

alert(\"Error found\");

I want to close

相关标签:
4条回答
  • 2020-12-04 02:17

    I updated the style settings, so it shows like a splash screen in the center of your page, and centers the text inside it.

    Call it like this:

    alertTimeout("System Message<br>This is a test message<br>This alert will auto-close",5000)
    

    The function:

    function alertTimeout(mymsg,mymsecs)
    {
     var myelement = document.createElement("div");
    myelement.setAttribute("style","background-color: grey;color:black; width: 450px;height: 200px;position: absolute;top:0;bottom:0;left:0;right:0;margin:auto;border: 4px solid black;font-family:arial;font-size:25px;font-weight:bold;display: flex; align-items: center; justify-content: center; text-align: center;");
     myelement.innerHTML = mymsg;
     setTimeout(function(){
      myelement.parentNode.removeChild(myelement);
     },mymsecs);
     document.body.appendChild(myelement);
    }
    
    0 讨论(0)
  • 2020-12-04 02:25

    jsFiddle Demo

    This functionality is not possible with an alert. However, you could use a div

    function tempAlert(msg,duration)
    {
     var el = document.createElement("div");
     el.setAttribute("style","position:absolute;top:40%;left:20%;background-color:white;");
     el.innerHTML = msg;
     setTimeout(function(){
      el.parentNode.removeChild(el);
     },duration);
     document.body.appendChild(el);
    }
    

    Use this like this:

    tempAlert("close",1000);
    
    0 讨论(0)
  • 2020-12-04 02:25

    jsFiddle Demo

    Basically you can imitate an alert box with a popup window and close it whenever you want, call the following function:

    function myAlert(msg,title,width,height,timeout) {
        var myWindow = window.open("", "",`width=${width},height=${height},left=${(window.outerWidth/2-width/2)},top=0`); //open a new popup at the top height and middle width of the current window
        myWindow.document.write(`<center id="msg">`+msg+`</center>`); //write the message you want to display
        myWindow.document.title = title; //write the title of the alert box
        setTimeout(function(){
            myWindow.close(); //close the popup
        },timeout||3000) //in 3 secondes (3000 milliseconds)
    }
    

    by the way if you want to close the alert on call, just use define the variable "myWindow" earlier (out of myAlert() function) as a global variable and then call myWindow.close(); once you already called myAlert() and remove

    setTimeout(function(){
        myWindow.close(); //close the popup
    },timeout||3000) //in 3 secondes (3000 milliseconds)
    

    from the function myAlert()

    0 讨论(0)
  • 2020-12-04 02:30

    You can't close alert any how .

    But you can use div To show your alert MSG.

      function Mymsg(msg,duration)
    {
     var alt = document.createElement("div");
         alt.setAttribute("style","position:absolute;top:50%;left:50%;background-color:white;");
         alt.innerHTML = msg;
         setTimeout(function(){
          alt.parentNode.removeChild(alt);
         },duration);
         document.body.appendChild(alt);
    }
    

    You can use as :

    Mymsg('close',2000)
    
    0 讨论(0)
提交回复
热议问题