JavaScript实现alert弹框效果
作者:helloxiaopanpan 发布时间:2024-05-10 10:57:40
标签:js,alert,弹框
本文实例为大家分享了JavaScript实现alert弹框的具体代码,供大家参考,具体内容如下
因本人水平有限,不足之处还望大家指正。
先上图:
为什么会出现这个需求?浏览器自带的alert不好用吗?
自带的alert在不同的浏览器是有差异的,而且样式也不美观,用户体验度不是很好。所以我们要自己写一个alert弹框,这样我们就可以按照我们自己的需求,把alert弹框做的美观一点。
以下是alert.js代码:
var myAlert = {
alertbox : function(alertContent){
var windowWidth = window.innerWidth;
windowHeight = window.innerHeight;
alertContainer = document.createElement("div");
alertContainer.id = "myAlertBox";
alertContainer.style.cssText="position:absolute;left:0px;top:0px;width:100%;z-index:9999;";
alertContainer.style.height = windowHeight+"px";
alertOpacity = document.createElement("div");
alertOpacity.style.cssText="position:absolute;left:0px;top:0px;width:100%;background:#000;opacity:0.5;z-index:9999;";
alertOpacity.style.height = windowHeight+"px";
alertContainer.appendChild(alertOpacity)
alertMainBox = document.createElement("div");
alertMainBox.style.cssText="position:absolute;width:200px;height:200px;line-height:200px;text-align:center;background:green;z-index:10000;"
alertMainBoxLeft = (windowWidth-200)/2;
alertMainBoxTop = (windowHeight-200)/2;
alertMainBox.style.left = alertMainBoxLeft+"px";
alertMainBox.style.top = alertMainBoxTop+"px";
alertMainBox.innerHTML = alertContent;
alertContainer.appendChild(alertMainBox);
alertClose = document.createElement("div");
alertClose.id = "closeBox";
alertClose.style.cssText = "position:absolute;right:0px;top:0px;width:30px;height:30px;background:red;cursor:pointer";
alertMainBox.appendChild(alertClose);
document.body.appendChild(alertContainer);
closeButton = document.getElementById("closeBox");
console.log(closeButton)
closeButton.onclick = function(){
document.body.removeChild(document.getElementById("myAlertBox"));
}
}
}
以下是具体要用时的代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Study</title>
</head>
<script type="text/javascript" charset="utf-8" src="alert.js"></script>
<body>
<script type="text/javascript" charset="utf-8">
myAlert.alertbox("这是自定义alert框");
</script>
</body>
</html>
用法很简单,引入alert.js文件,要用时直接myAlert.alertbox("内容");和使用alert一样。
在这块给大家提供个思路,供大家参考。
来源:https://blog.csdn.net/helloxiaopanpan/article/details/55667055


猜你喜欢
- python基于SMTP发送QQ邮件,供大家参考,具体内容如下第一步:1.打开qq邮箱,开启smtp服务2.验证密保3.获取授权码pytho
- 一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足。//Fatal error: Allowed
- 摘要: 前端框架 Bootstrap 的模态对话框,可以使用 remote 选项指定一个 URL,这样对话框在第一次弹出的时候就会自动从这个
- 首先创建一个csv文件,创建方式为新建一个文本文档,然后将这个文本文档重命名为test.csv再用Excel打开,添加内容内容如下:先来添加
- Docker用于开发Docker不仅用于部署,它还可以用于开发。1、为什么要在开发中使用Docker主要有以下几个原因。 1)一致的开发环境
- 今天在做sql Server 2005的实验的时候碰到的问题,问题描述很清楚,怀疑是我以前给计算机修改了名称而导致的.可以用select @
- 上图代码# -*- coding: utf-8 -*-"""Created on Sun Jun 18 20:
- 前言相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。编程世界里有各种各
- 除了在SSMS中查看view,存储过程等定义,也可以使用下面的语句直接查询:SELECT object_definition(object_
- 一、configparser模块是什么可以用来操作后缀为 .ini 的配置文件;python标准库(就是python自带的意思,无需安装)二
- 一. 概述首先需要先介绍一下无监督学习,所谓无监督学习,就是训练样本中的标记信息是位置的,目标是通过对无标记训练样本的学习来揭示数据的内在性
- 出现的问题: 在 vue-cli 创建的项目中,创建文件并命名后,会报 “Compone
- 1.安 * azel,从github上下载linux版的.sh文件,然后安装2.从GitHub上下载最新的TensorFlow源码3.进入Te
- 1.循环删除 #这个是我选中其中的一个分支进行右键清空操作时进行的处理for i in range(self.tree.currentIte
- 'subject 信息标题 'company 发布信息的公司名称 'cont
- 使用mysql二进制方式连接您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。实例以下是从命令行中连接mys
- MySQL基本增删改查语句练习创建数据库:1、在cmd窗口中输入mysql -u root -p登录MySQL环境2、创建数据库为了便于在命
- 前言将Selenium程序编写为 .bat 可执行文件,从此一键启动封装好的Selenium程序,省时省力还可以复用,岂不美哉应用场景写好
- 子查询可以完成 SQL 查询中比较复杂的情况,本章主要介绍一些子查询的简单用法。一、简单子查询1、简单子查询子查询是 SELECT 语句内的
- 前言:循环中通过break语句会立刻终止并跳出循环语句。break就像是终止按键,不管执行到哪一步,只要遇到break,不管什么后续步骤,直