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 相关文章推荐
javascript学习笔记(五)正则表达式
Apr 08 Javascript
js字符编码函数区别分析
Dec 28 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
Mar 05 Javascript
PHP实现的各种中文编码转换类分享
Jan 23 Javascript
JavaScript原型及原型链终极详解
Jan 04 Javascript
浅谈js的html元素的父节点,子节点
Aug 06 Javascript
easyui-combobox 实现简单的自动补全功能示例
Nov 08 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
Jul 19 Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
May 12 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
May 13 Javascript
优雅的处理vue项目异常实战记录
Jun 05 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/10/10 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
vue 文件目录结构详解
2017/11/24 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
python中的二维列表实例详解
2018/06/19 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
Python实现粒子群算法的示例
2021/02/14 Python
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
什么是Web Service?
2012/07/25 面试题
外国语学院毕业生自荐信
2013/10/28 职场文书
总经理办公室主任岗位职责
2013/11/12 职场文书
中队活动总结
2014/08/27 职场文书
小学科学教学计划
2015/01/21 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
Python中22个万用公式的小结
2021/07/21 Python