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读、写、删除Cookie代码续篇
Dec 03 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
Mar 04 Javascript
Javascript中的匿名函数与封装介绍
Mar 15 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
Feb 10 Javascript
AngulaJS路由 ui-router 传参实例
Apr 28 Javascript
js 监控iframe URL的变化实例代码
Jul 12 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
May 22 Javascript
示例vue 的keep-alive缓存功能的实现
Dec 13 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
Dec 28 Javascript
JavaScript实现像雪花一样的Hexaflake分形
Jul 07 Javascript
js 实现Material UI点击涟漪效果示例
Sep 23 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中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
php curl请求信息和返回信息设置代码实例
2015/04/27 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
js tab 选项卡
2009/04/26 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
JS装饰器函数用法总结
2018/04/21 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
Python操作CouchDB数据库简单示例
2015/03/10 Python
python实现telnet客户端的方法
2015/04/15 Python
Python中的choice()方法使用详解
2015/05/15 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
同程旅游英文网站:LY.com
2018/11/13 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
企业法人授权委托书
2014/04/03 职场文书
家庭教育的心得体会
2014/09/01 职场文书
目标责任书格式范文
2015/05/11 职场文书
CSS的calc函数用法小结
2022/06/25 HTML / CSS