jQuery基于函数重载实现自定义Alert函数样式的方法


Posted in Javascript onJuly 27, 2016

本文实例讲述了jQuery基于函数重载实现自定义Alert函数样式的方法。分享给大家供大家参考,具体如下:

(function(){
window.alert = function(text) {
 text=text.toString().replace(/\\/g,'\\').replace(/\n/g,'<br />').replace(/\r/g,'<br />'); //解析alert内容中的换行符
 var alertdiv='<div id="alertdiv" style="position:absolute; display:none ; overflow:hidden; padding:10px 10px 8px; top: 50%; left: 50%; text-align:center; line-height:22px; background-color:#DDE4EE; border:1px solid #ccc">'+text+'<br /><input type="submit" name="button" id="button" value="确定" style="margin-top:8px;" onclick="$(this).parent().remove(); "/></div>'; //自定义div弹窗
 $(document.body).append(alertdiv); //动态加载div
 $("#alertdiv").css({"margin-left":$("#alertdiv").width()/2*(-1)-20,"margin-top":$("#alertdiv").height()/2*(-1)-20}); //设置偏移数值,实现div居中
 $("#alertdiv").show(); //显示
};
})();

注:以上代码可自适应alert内容长度,支持换行符,调用时与原始alert函数无异。

完整示例代码如下:

<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.10.2/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
(function(){
window.alert = function(text) {
 text=text.toString().replace(/\\/g,'\\').replace(/\n/g,'<br />').replace(/\r/g,'<br />'); //解析alert内容中的换行符
 var alertdiv='<div id="alertdiv" style="position:absolute; display:none ; overflow:hidden; padding:10px 10px 8px; top: 50%; left: 50%; text-align:center; line-height:22px; background-color:#DDE4EE; border:1px solid #ccc">'+text+'<br /><input type="submit" name="button" id="button" value="确定" style="margin-top:8px;" onclick="$(this).parent().remove(); "/></div>'; //自定义div弹窗
 $(document.body).append(alertdiv); //动态加载div
 $("#alertdiv").css({"margin-left":$("#alertdiv").width()/2*(-1)-20,"margin-top":$("#alertdiv").height()/2*(-1)-20}); //设置偏移数值,实现div居中
 $("#alertdiv").show(); //显示
};
})();
</script><input type="submit" name="button" id="button" value="点击弹出alert自定义窗口" onclick='alert("这是alert弹窗\n支持\\n换行符")'/>

运行效果截图如下:

jQuery基于函数重载实现自定义Alert函数样式的方法

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 学习笔记二 字符串拼接
Mar 28 Javascript
多个js与css文件的合并方法详细说明
Dec 26 Javascript
js 控制图片大小核心讲解
Oct 09 Javascript
jquery实现在光标位置插入内容的方法
Feb 05 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 Javascript
vue打包的时候自动将px转成rem的操作方法
Jun 20 Javascript
微信小程序中this.data与this.setData的区别详解
Sep 17 Javascript
vue实现固定位置显示功能
May 30 Javascript
JS数组方法reduce的用法实例分析
Mar 03 Javascript
微信小程序实现点击页面出现文字
Sep 21 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
jquery动态遍历Json对象的属性和值的方法
Jul 27 #Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
Jul 27 #Javascript
js中遍历对象的属性和值的方法
Jul 27 #Javascript
js中的关联数组与普通数组详解
Jul 27 #Javascript
20分钟打造属于你的Bootstrap站点
Jul 27 #Javascript
浅谈js多维数组和hash数组定义和使用
Jul 27 #Javascript
js插件dropload上拉下滑加载数据实例解析
Jul 27 #Javascript
You might like
再次研究下cache_lite
2007/02/14 PHP
又一个php 分页类实现代码
2009/12/03 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
YII框架http缓存操作示例
2019/04/29 PHP
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
angular.bind使用心得
2015/10/26 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
js+canvas实现画板功能
2020/09/13 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
Python判断变量是否已经定义的方法
2014/08/18 Python
python服务器与android客户端socket通信实例
2014/11/12 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
python安装requests库的实例代码
2019/06/25 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
毕业生就业推荐信范文
2013/12/01 职场文书
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
酒店员工手册范本
2015/05/14 职场文书
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers