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 相关文章推荐
基于jquery的web页面日期格式化插件
Nov 15 Javascript
解析John Resig Simple JavaScript Inheritance代码
Dec 03 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
Jan 23 Javascript
查看图片(前进后退)功能实现js代码
Apr 24 Javascript
AngularJS中的模块详解
Jan 29 Javascript
js一维数组、多维数组和对象的混合使用方法
Apr 03 Javascript
轻松掌握JavaScript中的Math object数学对象
May 26 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
Aug 08 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
Aug 12 Javascript
微信小程序自定义底部导航带跳转功能
Nov 27 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
Jun 10 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
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
javascript如何实现create方法
2019/11/04 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
多版本Python共存的配置方法
2017/05/22 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python图像和办公文档处理总结
2019/05/28 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
Python decimal模块使用方法详解
2020/06/08 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
SQL SERVER面试资料
2013/03/30 面试题
《绿色蝈蝈》教学反思
2014/03/02 职场文书
客户答谢会活动方案
2014/08/31 职场文书
2015年企业新年寄语
2014/12/08 职场文书