javascript重写alert方法的实例代码


Posted in Javascript onMarch 29, 2013
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>重写alert</title>
    <link  href="css/style.css" rel="stylesheet"/>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script type="text/javascript">
    var showAlert = function(msg){
        jAlert(msg, "提示!");
    }
    window.alert=showAlert;
    $.alerts={
        verticalOffset:-75,horizontalOffset:0,repositionOnResize:true,overlayOpacity:.01,overlayColor:'#FFF',draggable:true,okButton:' OK ',cancelButton:' Cancel ',dialogClass:null,alert:function(message,title,callback){
            if(title==null)title='Alert';
            $.alerts._show(title,message,null,'alert',function(result){
                if(callback)callback(result)
            })
        }
        ,_show:function(title,msg,value,type,callback){
            $.alerts._hide();
            $.alerts._overlay('show');
            $("BODY").append('<div id="popup_container">'+'<h1 id="popup_title"></h1>'+'<div id="popup_content">'+'<div id="popup_message"></div>'+'</div>'+'</div>');
            if($.alerts.dialogClass)$("#popup_container").addClass($.alerts.dialogClass);
            var pos=($.browser.msie&&parseInt($.browser.version)<=6)?'absolute':'fixed';
            $("#popup_container").css({
                position:pos,zIndex:99999,padding:0,margin:0
            });
            $("#popup_title").text(title);
            $("#popup_content").addClass(type);
            $("#popup_message").text(msg);
            $("#popup_message").html($("#popup_message").text().replace(/\n/g,'<br />'));
            $("#popup_container").css({
                minWidth:$("#popup_container").outerWidth(),maxWidth:$("#popup_container").outerWidth()
            });
            $.alerts._reposition();
            $.alerts._maintainPosition(true);
            switch(type){
                case'alert':$("#popup_message").after('<div id="popup_panel"><input type="button" value="'+$.alerts.okButton+'" id="popup_ok" /></div>');
                $("#popup_ok").click(function(){
                    $.alerts._hide();
                    callback(true)
                });
                $("#popup_ok").focus().keypress(function(e){
                    if(e.keyCode==13||e.keyCode==27)$("#popup_ok").trigger('click')
                });
                break
            };
            if($.alerts.draggable){
                try{
                    $("#popup_container").draggable({
                        handle:$("#popup_title")
                    });
                    $("#popup_title").css({
                        cursor:'move'
                    })
                }
                catch(e){}
            }
        }
        ,_hide:function(){
            $("#popup_container").remove();
            $.alerts._overlay('hide');
            $.alerts._maintainPosition(false)
        }
        ,_overlay:function(status){
            switch(status){
                case'show':$.alerts._overlay('hide');
                $("BODY").append('<div id="popup_overlay"></div>');
                $("#popup_overlay").css({
                    position:'absolute',zIndex:99998,top:'0px',left:'0px',width:'100%',height:$(document).height(),background:$.alerts.overlayColor,opacity:$.alerts.overlayOpacity
                });
                break;
                case'hide':$("#popup_overlay").remove();
                break
            }
        }
        ,_reposition:function(){
            var top=(($(window).height()/ 2) - ($("#popup_container").outerHeight() /2))+$.alerts.verticalOffset;
            var left=(($(window).width()/ 2) - ($("#popup_container").outerWidth() /2))+$.alerts.horizontalOffset;
            if(top<0)top=0;
            if(left<0)left=0;
            if($.browser.msie&&parseInt($.browser.version)<=6)top=top+$(window).scrollTop();
            $("#popup_container").css({
                top:top+'px',left:left+'px'
            });
            $("#popup_overlay").height($(document).height())
        }
        ,_maintainPosition:function(status){
            if($.alerts.repositionOnResize){
                switch(status){
                    case true:$(window).bind('resize',function(){
                        $.alerts._reposition()
                    });
                    break;
                    case false:$(window).unbind('resize');
                    break
                }
            }
        }
    };
    jAlert=function(message,title,callback){
        $.alerts.alert(message,title,callback)
    }
    $(function(){alert("hello word!")})
    </script>
    <style>
    #popup_container{font-family:Arial,sans-serif;font-size:12px;min-width:300px;max-width:600px;background:#FFF;border:solid 5px #999;color:#000;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}#popup_title{font-size:14px;font-weight:bold;text-align:center;line-height:1.75em;color:#666;background:#CCC url(images/title.gif) top repeat-x;border:solid 1px #FFF;border-bottom:solid 1px #999;cursor:default;padding:0em;margin:0em;}#popup_content{background:16px 16px no-repeat url(images/info.gif);padding:1em 1.75em;margin:0em;}#popup_content.alert{background-image:url(images/info.gif);}#popup_message{padding-left:48px;}#popup_panel{text-align:center;margin:1em 0em 0em 1em;}#popup_prompt{margin:.5em 0em;}
    </style>
</head>
<body>
</body>
</html>
Javascript 相关文章推荐
最近项目写了一些js,水平有待提高
Jan 31 Javascript
javascript URL锚点取值方法
Feb 25 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
Dec 05 Javascript
jquery中的on方法使用介绍
Dec 29 Javascript
thinkphp 表名 大小写 窍门
Feb 01 Javascript
jquery实现select下拉框美化特效代码分享
Aug 18 Javascript
AngularJS中的包含详细介绍及实现示例
Jul 28 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
Jan 04 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
Vue学习之axios的使用方法实例分析
Jan 06 Javascript
jQuery cookie的公共方法封装和使用示例
Jun 01 jQuery
javascript时间函数基础介绍
Mar 28 #Javascript
javascript数组的使用
Mar 28 #Javascript
js获取class的所有元素
Mar 28 #Javascript
js导航菜单(自写)简单大方
Mar 28 #Javascript
商城常用滚动的焦点图效果代码简单实用
Mar 28 #Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
Mar 28 #Javascript
jQuery div层的放大与缩小简单实现代码
Mar 28 #Javascript
You might like
PHP生成带有雪花背景的验证码
2006/10/09 PHP
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
理解javascript async的用法
2017/08/22 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
vue.js仿hover效果的实现方法示例
2019/01/28 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
python实现高斯投影正反算方式
2020/01/17 Python
Python如何根据时间序列数据作图
2020/05/12 Python
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
2014年中班元旦活动方案
2014/02/14 职场文书
房地产广告词大全
2014/03/19 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏