javascript自定义弹出的确认框Confirm

使用场景

如果想自定义浏览器自带的弹出框Confirm样式,可以参考下面的代码

关键词

  • 自定义Confirm
  • 自定义确认框

知识点

  • 异步函数(async function)
  • async
  • await
  • Promise
  • resolve
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
		<style>
			.modal-backdrop{
				width: 100vw;
				height: 100vh;
				background: #000;
				opacity: 0.5;
				position: fixed;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				z-index: 100;
			}
			.async-popup-confirm-dialog-wrapper{
				margin: 0 auto;
				height: 100vh;
				max-width: 500px;
				display: flex;
				align-items: center;
			}
			.async-popup-confirm-dialog{
				width: 100%;
				height: 100%;
				max-height: 100px;
				background: #fff;
				position: relative;
				z-index: 1000;
			}
			.confirm-dialog-handle{
				text-align: center;
			}
			.confirm-dialog-handle a{
				margin-right: 10px;
			}
		</style>
	</head>
	<body>
		<div class="box">
			<a href="javascript:;" onclick="asyncPopUpConfimDialog()">async click</a>
			<div class="modal-backdrop" style="display:none;"></div>
			<div class="async-popup-confirm-dialog-wrapper">
				<div class="async-popup-confirm-dialog" id="asyncPopUpConfimDialog" style="display:none;">
					<div class="confirm-dialog-tips">
						Are you sure you want to do this? 
					</div>
					<div class="confirm-dialog-handle">
						<a href="javascript:;" id="aYes">a yes</a>
						<a href="javascript:;" id="aNo">a no</a>
					</div>
				</div>
			</div>
			
		</div>
	</body>
	<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
	<script type="text/javascript">
	async function asyncPopUpConfimDialog(){
		$("#asyncPopUpConfimDialog,.modal-backdrop").show();
		var res = await aYesOrNoClick();
		console.log('asyncAClick res:',res);
		if(res){
			alert('a yes click');
		}else{
			alert('a no click');
		}
		$("#asyncPopUpConfimDialog,.modal-backdrop").hide();
	}
	function aYesOrNoClick(){
		return new Promise(resolve=>{
			$("#aYes").click(function(){
				resolve(true);
			});
			$("#aNo").click(function(){
				resolve(false);
			});
			//
		});
	}
	</script>
</html>

Demo link

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
弹出confirm自定义样式是一种在网页开发中常见的交互方式。通过自定义样式,我们可以更好地适应网页的整体风格和需求。 在HTML中,我们可以使用JavaScriptconfirm函数来创建一个确认。它会弹出一个带有确认和取消按钮的对话,并返回用户的选择结果。 要自定义confirm的样式,我们可以使用CSS来修改其外观。比如,我们可以修改背景颜色、按钮颜色、文字样式等来实现自定义的外观效果。 首先,在HTML中创建一个按钮,并为其设置一个触发事件,比如点击按钮时弹出confirm: ```html <button onclick="myFunction()">点击弹出确认</button> ``` 接下来,在JavaScript中定义myFunction函数,并使用confirm函数来显示确认: ```javascript function myFunction() { var result = confirm("确定要执行此操作吗?"); if (result == true) { // 在这里执行用户点击确认后的操作 } else { // 在这里执行用户点击取消后的操作 } } ``` 最后,使用CSS来对confirm进行样式修改。比如,我们可以在CSS中添加以下代码来修改确认的背景颜色和按钮颜色: ```css .confirm { background-color: #333; color: #fff; } .confirm button { background-color: #555; color: #fff; } ``` 通过以上方式,我们可以实现对confirm自定义样式。当用户点击按钮时,会弹出一个自定义的样式confirm,用户可以根据需要选择确认或取消。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值