98% thời gian có cách di chuyển tập lệnh thư của bạn để nó gọi sau khi mọi thứ khác thực thi. Đối với 2% kia, tôi thích sử dụng các div nổi trông giống như thế này. Sau đó bạn có thể thay đổi CSS của bạn để phù hợp với phong cách của ứng dụng/trang web của bạn hoặc để làm cho nó trông giống như một cửa sổ popup tiêu chuẩn.
/*HTML*/
<div class="floatingDiv" id="msgBox" style="visibility:hidden"></div>
/*javaScript*/
function openWindow(id){
"use strict";
document.getElementById(id).style.visibility = 'visible';
}
function closeWindow(id){
"use strict";
document.getElementById(id).style.visibility = 'hidden';
}
function myMsgBox(TITLE,MESSAGE) {
"use strict";
document.getElementById("msgBox").innerHTML = "<a href=\"javascript:closeWindow('msgBox')\" style=\"float:right\"><img src=\"imgs/close.png\" onmouseover=\"src='imgs/closeOver.png'\" onmouseout=\"src='imgs/close.png'\"/ alt=\"[close]\"></a><h2 style=\"text-align:center; margin-top:0px;\">" + TITLE + "</h2><hr><p align=\"left\">" + MESSAGE + "</p>";
openWindow("msgBox");
}
/*CSS*/
.floatingDiv {
position:absolute;
z-index:10000;
left:33%;
top:250px;
width:33%;
background-color:#FFF;
min-width:217px;
text-align: left;
border-radius: 10px 10px;
border:solid;
border-width:1px;
border-color:#000;
vertical-align:top;
padding:10px;
background-image: -ms-linear-gradient(top, #CCCCCC 0%, #FFFFFF 25px, #FFFFFF 100%);
background-image: -moz-linear-gradient(top, #CCCCCC 0%, #FFFFFF 25px, #FFFFFF 100%);
background-image: -o-linear-gradient(top, #CCCCCC 0%, #FFFFFF 25px, #FFFFFF 100%);
background-image: -webkit-linear-gradient(top, #CCCCCC 0%, #FFFFFF 25px, #FFFFFF 100%);
background-image: linear-gradient(to bottom, #CCCCCC 0%, #FFFFFF 25px, #FFFFFF 100%);
box-shadow:3px 3px 5px #003;
filter: progid:DXImageTransform.Microsoft.Shadow(color='#000033', Direction=145, Strength=3);
}
Không chuyển chuỗi thành setTimeout, chuyển hàm. setTimeout (function() {alert ('hello world');}) có nhiều chức năng đẹp hơn là các đối tượng mức độ đầu tiên trong Javascript – Gareth
Vâng, tôi biết tôi nên thực hiện nó như một hàm thay vì chuỗi được đánh giá. –
Giải pháp này không hoạt động đối với Chrome, cảnh báo sẽ tạm dừng tất cả tập lệnh trình duyệt ngay cả trong setTimeout. – Anas