js重写alert弹框,带样式

本文介绍了一种使用纯JavaScript实现的自定义警告框方法。通过修改页面DOM结构来创建一个居中显示的提示框,该提示框包含指定的消息内容,并允许设置自动关闭的时间。此外,还提供了手动关闭选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看图:

具体代码:

window.alert = function (txt, time) {
            if (document.getElementById("alertFram")) {
                return;
            }
            var alertDiv = document.createElement("DIV");
            alertDiv.id = "alertFram";
            alertDiv.style.position = "absolute";
            alertDiv.style.left = "50%";
            alertDiv.style.top = "40%";
            alertDiv.style.marginLeft = "-225px";
            alertDiv.style.marginTop = "-75px";
            alertDiv.style.width = "450px";
            alertDiv.style.height = "340px";
            alertDiv.style.background = "#ccc";
            alertDiv.style.textAlign = "center";
            alertDiv.style.zIndex = "10000";
            alertDiv.innerHTML = '<div style="width: 100%;height: 100%;background: #fff;border: 1px solid #f1f1f1;overflow: hidden;"><div style="font-size: 16px;text-align: center;line-height: 42px;color: #111;background: #fff;position: absolute;left: 0;top: 0;z-index: 999;width: 100%;text-align: center;border-bottom:1px solid #F0F0F0">详情</div><div style="text-align: left;margin-top: 42px;font-size: 14px;padding: 10px;color: #555;height: 82%;overflow: auto;word-wrap: break-word;">'+ txt +'</div><div style="position: absolute;right: 10px;top: 3px;font-size: 24px;cursor: pointer;z-index: 1000;" onclick="doOk()">×</div></div>';
            document.body.appendChild(alertDiv);
            var c = 0;
            this.timer = function () {
                if (c++ >= time) {
                    clearInterval(ad);
                    document.body.removeChild(alertDiv);
                }
            }
            var ad = setInterval("timer()", 1000);
            this.doOk = function () {
                document.body.removeChild(alertDiv);
            }
            alertDiv.focus();
            document.body.onselectstart = function () {
                return false;
            };
        }

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

衹染青春

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值