做一个提示窗口取代系统的 alert();
系统自带的 alert() 比较烦人,因为会覆盖页面且有声音,其实最有直接的就是人们已经不喜欢这种提示信息。
我做了个小的 提示窗,效果还行,这是算是做一个备份,大家需要的话也可以顺便服务大众。 大概效果是一个方块从浏览器的正上方移动到页面上方边缘,点击关闭或一定时间后会渐隐掉。
代码:
调用时直接 javascript: show_alert("信息"); 就行了,如果是想报错的话可以在第二个参数中输入 "error",第三个参数是时间,默认为 3秒后消失。
我做了个小的 提示窗,效果还行,这是算是做一个备份,大家需要的话也可以顺便服务大众。 大概效果是一个方块从浏览器的正上方移动到页面上方边缘,点击关闭或一定时间后会渐隐掉。
代码:
function fromID(id) {
return document.getElementById(id);
}
function show_alert(msg, type, time) {
var layer_obj = fromID("alert_layer");
var layer_text= fromID("alert_text");
var line_height = (document.documentElement.scrollTop == 0) ? document.body.scrollTop : document.documentElement.scrollTop;
layer_text.innerHTML = msg;
with(layer_obj.style) {
zIndex = 999;
top = line_height-40;
left = document.body.clientWidth/3;
display = "block";
position = "absolute";
if(type == "error") {
background = "url(http://"+style_domain+"/snake/index/msgbox_right_bg2.jpg)";
}
}
layer_obj.filters[0].opacity = "0.8"; //透明度为 80%
if(time == undefined) time = 3000;
else time = time*1000;
var top = line_height-40;
var speed = 1.5;
time-= 1000;
//控制窗口向下移动至页面边缘
move_down = function MoveFplogo() {
top+= speed;
layer_obj.style.top = top;
if(top < line_height) setTimeout("move_down()", 1);
else setTimeout("close_alert_win()", time);
}
move_down();
}
function close_alert_win() {
var layer_obj = fromID("alert_layer");
//控制窗口渐渐消失
if(layer_obj.filters[0].opacity < 0.02) {
layer_obj.style.display = "none";
return true;
}
layer_obj.filters[0].opacity-= 0.02;
setTimeout("close_alert_win()", 1);
}
document.writeln(" ");
return document.getElementById(id);
}
function show_alert(msg, type, time) {
var layer_obj = fromID("alert_layer");
var layer_text= fromID("alert_text");
var line_height = (document.documentElement.scrollTop == 0) ? document.body.scrollTop : document.documentElement.scrollTop;
layer_text.innerHTML = msg;
with(layer_obj.style) {
zIndex = 999;
top = line_height-40;
left = document.body.clientWidth/3;
display = "block";
position = "absolute";
if(type == "error") {
background = "url(http://"+style_domain+"/snake/index/msgbox_right_bg2.jpg)";
}
}
layer_obj.filters[0].opacity = "0.8"; //透明度为 80%
if(time == undefined) time = 3000;
else time = time*1000;
var top = line_height-40;
var speed = 1.5;
time-= 1000;
//控制窗口向下移动至页面边缘
move_down = function MoveFplogo() {
top+= speed;
layer_obj.style.top = top;
if(top < line_height) setTimeout("move_down()", 1);
else setTimeout("close_alert_win()", time);
}
move_down();
}
function close_alert_win() {
var layer_obj = fromID("alert_layer");
//控制窗口渐渐消失
if(layer_obj.filters[0].opacity < 0.02) {
layer_obj.style.display = "none";
return true;
}
layer_obj.filters[0].opacity-= 0.02;
setTimeout("close_alert_win()", 1);
}
document.writeln(" ");
调用时直接 javascript: show_alert("信息"); 就行了,如果是想报错的话可以在第二个参数中输入 "error",第三个参数是时间,默认为 3秒后消失。
meiking
2008-04-10 01:50:37
评论:0
阅读:35
引用:0
