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 相关文章推荐
快速查找数组中的某个元素并返回下标示例
Sep 03 Javascript
js单例模式的两种方案
Oct 22 Javascript
JavaScript的21条基本知识点
Mar 04 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
Apr 06 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 Javascript
JavaScript实现上下浮动的窗口效果代码
Oct 12 Javascript
浅析ES6的八进制与二进制整数字面量
Aug 30 Javascript
JavaScript中浅讲ajax图文详解
Nov 11 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
Dec 22 Javascript
微信小程序实战篇之购物车的实现代码示例
Nov 30 Javascript
如何封装Vue Element的table表格组件
Feb 06 Vue.js
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遍历数组的几种方法
2012/03/22 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
php生成HTML文件的类方法
2019/10/11 PHP
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
JS控件bootstrap datepicker使用方法详解
2017/03/25 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
Python中的类与对象之描述符详解
2015/03/27 Python
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
使用Django和Python创建Json response的方法
2018/03/26 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python基础教程之while循环
2019/08/14 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
工厂仓管员岗位职责
2014/01/01 职场文书
员工评语范文
2014/12/31 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
简历自我评价优缺点
2015/03/11 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
2015新员工工作总结范文
2015/10/15 职场文书
创业计划书介绍
2019/04/24 职场文书
JS封装cavans多种滤镜组件
2022/02/15 Javascript
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers