zoukankan      html  css  js  c++  java
  • 手写alert弹框(一)

    采用原生的JavaScript,

    html代码

    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <style>
    .div{
    	border:4px dashed #ccc;margin:130px auto;
    	text-align:center;
    	font-size:25px;
    	100px;
    	height:100px;
    	padding:40px;
    }
    </style>
    <script src="alert.js"></script>
    <div class="div" onclick="alert('hello javascript!')">点击我</div>
    

      

    js代码

    //自定义弹框
    function alert(context,title){
    	//创建弹框div
    	var alertFram = document.createElement("div");
    	alertFram.id="alertFram";
    	alertFram.style="position: absolute;  280px; height: 150px; left: 50%; top: 50%; margin-left: -140px; margin-top: -110px; text-align: center; line-height: 150px; z-index: 300;";
    	var strHtml='';
    	strHtml+='<div style="list-style:none;margin:0px;padding:0px;100%">';
    	strHtml+='	 <div id="alertFramTitle" style="background:#626262;text-align:left;padding-left:20px;font-size:14px;font-weight:bold;height:25px;line-height:25px;border:1px solid #F9CADE;color:white">[中奖提醒]</div>';
    	strHtml+='	 <div id="alertFramContext" style="background:#787878;text-align:center;font-size:12px;height:95px;line-height:95px;border-left:1px solid #F9CADE;border-right:1px solid #F9CADE;color:#fff">    100000     元</div>';
    	strHtml+='	 <div style="background:#626262;text-align:center;font-weight:bold;height:30px;line-height:25px; border:1px solid #F9CADE;"><input type="button" value="确 定" onclick="doOk()" style="80px;height:20px;background:#626262;color:white;border:1px solid white;font-size:14px;line-height:20px;outline:none;margin-top: 4px"></div>';
    	strHtml+='	</div>';
    	alertFram.innerHTML = strHtml;
    	//将弹框添加到页面末尾
    	document.body.appendChild(alertFram);
    	//title
    	var alertFramTitle=document.getElementById("alertFramTitle");
    	alertFramTitle.innerHTML = title || "[温馨提示]";//默认值
    	//context
    	var alertFramContext=document.getElementById("alertFramContext");
    	alertFramContext.innerHTML = context || "";//默认值
    }
    //确定按钮
    function doOk(){
    	//移除弹框
    	var x=document.getElementById("alertFram");
    	x.remove();
    }
    

      

    优点:简单,非阻塞式弹框,依赖少(不需要jquery)

    缺点:输入文本不能太长否则文字显示不全(因为大小固定),样式不好看(需要优化),代码修改起来困难(最好是使用面向对象的方式)

    留坑,有待优化!!!

  • 相关阅读:
    《 动态规划_ 货币系统 》
    《动态规划_入门 LIS 问题 》
    数据库中左连接、右连接、全连接的区别
    http和https的区别与联系
    【复习周之流水账记录】
    web前端整套面试题(三)--网易的面试题
    微信小程序相关三、css写小黄人
    CSS选择器的匹配规则
    web前端整套面试题(二)--今日头条面试题
    有趣的逻辑题
  • 原文地址:https://www.cnblogs.com/1906859953Lucas/p/10843740.html
Copyright © 2011-2022 走看看