jquery模拟alert的弹窗插件


Posted in Javascript onJuly 31, 2015

演示地址:

http://runjs.cn/detail/miwszbne

分享说明:

第N次造轮子了,只为最简单的调用,jquery模拟alert和confirm的弹窗插件

调用方法:

$.alert('your message');

$.alert('your message',function(){
 $.alert('click ok button')
});

$.confirm('your message');

$.confirm('your message',function(result){
 if(result){
  $.alert('click ok button')
 }else{
  $.alert('click cancel button')
 }
})

为了调用方便,直接将css样式写在了js中,兼容性方面只测试了IE8和chrome以及safari,都还可以。
IE8没问题想必其他现代浏览器应该也是OK的。

(function ($) {
  $.extend({
    _isalert:0,
    alert:function(){
      if(arguments.length){
        $._isalert=1;
        $.confirm.apply($,arguments);
      }
    },
    confirm:function(){
      var args=arguments;
      if(args.length&&(typeof args[0] == 'string')&&!$('#alert_overlay').length){
        if(!$('#alert_style').length) $('body').append('<style id="alert_style" type="text/css">#alert_overlay{position:fixed;width:100%;height:100%;top:0;left:0;z-index:999;background:#000;filter:alpha(opacity=5);opacity:.05}#alert_msg{position:fixed;width:400px;margin-left:-201px;left:50%;top:20%;z-index:1000;border:1px solid #aaa;box-shadow:0 2px 15px rgba(0,0,0,.3);background:#fff}#alert_content{padding:20px;font-size:14px;text-align:left}#alert_buttons{padding:10px;border-top:1px solid #aaa;text-align:right;box-shadow:0 1px 0 #fff inset;background:#eee;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}#alert_buttons .alert_btn{padding:5px 12px;margin:0 2px;border:1px solid #aaa;background:#eee;cursor:pointer;border-radius:2px;font-size:14px;outline:0;-webkit-appearance:none}#alert_buttons .alert_btn:hover{border-color:#bbb;box-shadow:0 1px 2px #aaa;background:#eaeaea}#alert_buttons .alert_btn:active{box-shadow:0 1px 2px #aaa inset;background:#e6e6e6}</style>');
        var dialog=$('<div id="alert_overlay"></div><div id="alert_msg"><div id="alert_content">'+args[0]+'</div><div id="alert_buttons"><button class="alert_btn alert_btn_ok">确定</button><button class="alert_btn alert_btn_cancel">取消</button></div></div>');
        if($._isalert) dialog.find('.alert_btn_cancel').hide();
        dialog.on('contextmenu',function(){
          return !1;
        }).on('click','.alert_btn_ok',function(){
          dialog.remove();
          if(typeof args[1]=='function') args[1].call($,!0);
        }).on('click','.alert_btn_cancel',function(){
          dialog.remove();
          if(typeof args[1]=='function') args[1].call($,!1);
        }).appendTo('body');
      }
      $._isalert=0;
    }
  });
})($);

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
引入JS文件IE6报语法错误或缺少对象问题的解决方法
Jan 09 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
Dec 05 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 Javascript
JS异步文件上传(兼容IE8+)
Apr 02 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 Javascript
Vue 2.0入门基础知识之内部指令详解
Oct 15 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
Feb 26 Javascript
AngularJS 监听变量变化的实现方法
Oct 09 Javascript
js正则取值的结果数组调试方法
Oct 10 Javascript
Django+Vue实现WebSocket连接的示例代码
May 28 Javascript
js实现橱窗展示效果
Jan 11 Javascript
Vue 监听元素前后变化值实例
Jul 29 Javascript
JSON字符串转JSON对象
Jul 31 #Javascript
javascript实现简单的页面右下角提示信息框
Jul 31 #Javascript
JavaScript实现快速排序的方法
Jul 31 #Javascript
javascript常用正则表达式汇总
Jul 31 #Javascript
轻量级网页遮罩层jQuery插件用法实例
Jul 31 #Javascript
js实时获取并显示当前时间的方法
Jul 31 #Javascript
Javascript实现的Map集合工具类完整实例
Jul 31 #Javascript
You might like
用php简单实现加减乘除计算器
2014/01/06 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
利用python求相邻数的方法示例
2017/08/18 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
python flask中动态URL规则详解
2019/11/22 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
护士实习生自我鉴定范文
2013/12/10 职场文书
相亲大会策划方案
2014/06/05 职场文书
争做文明公民倡议书
2019/06/24 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技