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 相关文章推荐
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 Javascript
js获取select标签选中值的两种方式
Jan 09 Javascript
网站内容禁止复制和粘贴、另存为的js代码
Feb 26 Javascript
jquery 表单验证之通过 class验证表单不为空
Nov 02 Javascript
瀑布流的实现方式(原生js+jquery+css3)
Jun 28 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
Aug 25 Javascript
vue制作加载更多功能的正确打开方式
Oct 12 Javascript
Angular2  NgModule 模块详解
Oct 19 Javascript
BootStrap3使用错误记录及解决办法
Dec 22 Javascript
JS实现数组去重复值的方法示例
Feb 18 Javascript
JS实现简单的天数计算器完整实例
Apr 28 Javascript
JS实现横向轮播图(初级版)
Jun 24 Javascript
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
PHP Cookie的使用教程详解
2013/06/03 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
php和html的区别点详细总结
2019/09/24 PHP
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
domReady的实现案例
2016/11/23 Javascript
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
Python列表append和+的区别浅析
2015/02/02 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python实现多进程的四种方式
2019/02/22 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
新员工考核评语
2014/12/31 职场文书
乌镇导游词
2015/02/02 职场文书
校运会通讯稿
2015/07/18 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
Go语言 详解net的tcp服务
2022/04/14 Golang