• 右下角滑出窗口 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

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

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

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

  • 相关阅读:
    oracle笔记
    log4j配置
    前段页面性能标准
    递归多叉树遍历
    // 获取元素拒顶部高度
    window.parent
    webpack打包
    vue源码解析推荐文章
    在vue项目中。artTemplate引入失败问题,修改源码
    webpack打包css前缀自动取消,以及样式冲突问题
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/1715269.html
Copyright © 2020-2023  润新知