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 屏蔽一个区域内的所有元素,禁止输入
Oct 22 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
Jun 21 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
Dec 25 Javascript
JavaScript原型链示例分享
Jan 26 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
jQuery实现为控件添加水印文字效果(附源码)
Dec 02 Javascript
JavaScript 数组some()和filter()的用法及区别
May 20 Javascript
Vue.js结合bootstrap实现分页控件
Mar 10 Javascript
关于Vue的路由权限管理的示例代码
Mar 06 Javascript
Vue.js添加组件操作示例
Jun 13 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
node.js使用express框架进行文件上传详解
Mar 03 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 文章中的远程图片采集到本地的代码
2009/07/30 PHP
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
浅析is_writable的php实现
2013/06/18 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
python爬虫爬取某站上海租房图片
2018/02/04 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
Android笔试题总结
2014/11/29 面试题
会计专业自我鉴定范文
2013/10/06 职场文书
咨询公司各岗位职责
2013/12/02 职场文书
现金会计岗位职责
2013/12/05 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
电力培训心得体会
2014/09/02 职场文书
委托书的写法
2014/09/16 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
2014年食堂工作总结
2014/11/20 职场文书
介绍信的格式
2015/01/30 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
安全学习心得体会范文
2016/01/18 职场文书
Docker部署Mysql8的实现步骤
2022/07/07 Servers