右下角滑出窗口 sheyMsg

/* 
 *Author:sohighthesky 
 *From:http://blog.csdn.net/sohighthesky   
 *Date:2009-11-9 
 */ 
/* 
 *box 指定要显示消息框或者其id 
 *options:参见代码中setOptions中的注释 
 */ 
var sheyMsg=function(box,options) {  
    this.box=this.g(box);  
    this.setOptions(options);  
    this.init();  
}  
sheyMsg.prototype={  
    ae:function(e,call) {  
        if(window.addEventListener)window.addEventListener(e,call,false);  
        else window.attachEvent("on"+e,call);  
    },  
    g:function(id) {return typeof(id)=="string"?document.getElementById(id):id; },  
    isFixed:!window.ActiveXObject || (navigator.userAgent.indexOf("MSIE 6")==-1 &&  document.compatMode=="CSS1Compat"),  
    setOptions:function(options) {  
        this.options={//默认配置  
                showDelay:10,//显示延时  
                autoHide:30,//自动隐藏时间,设置为0时,不自动隐藏  
                onShow:function(){},//显示后调用  
                onHide:function(){}//隐藏后调用  
        };  
        for(var o in options) {  
            this.options[o]=options[o];  
        }  
    },  
    hide:function() {//隐藏  
        var _top=this.box.clientHeight;  
        var o=this;  
        if(/ing$/.test(o.status))return;  
        o.status="hiding";  
        clearTimeout(o.tt);  
        o.t=setInterval(function() {  
            if(o.isFixed)  
                o.box.style.bottom=(-o.box.clientHeight+(--_top))+'px';  
            else 
                o.box.style.top=o.de.scrollTop+o.de.clientHeight-5-(--_top) +"px";  
            if(_top==-5) {  
                clearInterval(o.t);  
                o.status="hide";  
                o.box.style.display="none";  
                o.options.onHide();  
            }  
        },5);  
    },  
    show:function() {//显示  
        var _top=0;  
        var o=this;  
        if(/ing$/.test(o.status))return;  
        o.status="showing";  
        clearTimeout(o.tt);  
        o.box.style.display="block";  
        o.t=setInterval(function() {  
            if(o.isFixed)  
                o.box.style.bottom=(-o.box.clientHeight+(++_top))+"px";  
            else 
                o.box.style.top=(o.de.scrollTop+o.de.clientHeight-5-(++_top)) +"px";  
            if(_top==o.box.clientHeight) {  
                clearInterval(o.t);  
                o.status="show";  
                o.options.onShow();  
                var h=o.options.autoHide-0;  
                if(h) o.tt=setTimeout(function() {o.hide();},h*1000);  
            }  
        },1);  
    },  
    fixIE6:function() {//IE6 滚动定位  
        this.box.style.left=this.de.scrollLeft+this.de.clientWidth-this.box.clientWidth-2+"px";  
        if(this.status=="show") {              
            this.box.style.top=this.de.scrollTop+this.de.clientHeight-this.box.clientHeight-5+"px";  
        } else if(this.status=="hide") {  
            this.box.style.top=this.de.scrollTop+this.de.clientHeight+5+"px";  
        }  
    },  
    init:function() {  
        with(this.box.style) {  
            display="block";//显示之后才能取出宽度和高度  
            if(this.isFixed) {  
                position="fixed";  
                right="2px";  
                bottom=(-this.box.clientHeight-5)+"px";  
            } else {  
                position="absolute";  
            }  
        }  
        this.status="hide";  
        var o=this;  
        if(!this.isFixed) {  
            o.de=document.compatMode=="CSS1Compat"?document.documentElement:document.body;  
            var timer;  
            this.ae("resize",function() { clearTimeout(timer);timer=setTimeout(function(){o.fixIE6.call(o)},30);});  
            this.ae("scroll",function() { clearTimeout(timer);timer=setTimeout(function(){o.fixIE6.call(o)},30);});  
            this.fixIE6();//加载时指定位置  
        }  
        o.box.style.display="none";  
        o.tt=setTimeout(function() {o.show();},o.options.showDelay*1000);  
    }  


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sohighthesky/archive/2009/11/10/4795886.aspx

/************************************************/

本博客内容如果是原著都会在标题后加上(原著)字样,未加者多数为转载.

/************************************************/

原文地址:https://www.cnblogs.com/ghfsusan/p/1715269.html