手机app页面Toast提示框

/**渐进实现点点点等待效果  引用别人的css**/
.ani_dot {
    font-family: simsun;    
}
:root .ani_dot {
    display: inline-block;
    width: 1.5em;
    vertical-align: bottom;
    overflow: hidden;
}
@-webkit-keyframes dot {
    0% { width: 0; margin-right: 1.5em; }
    33% { width: .5em; margin-right: 1em; }
    66% { width: 1em; margin-right: .5em; }
    100% { width: 1.5em; margin-right: 0;}
}
.ani_dot {
    -webkit-animation: dot 1s infinite step-start;
}


@keyframes dot {
    0% { width: 0; margin-right: 1.5em; }
    33% { width: .5em; margin-right: 1em; }
    66% { width: 1em; margin-right: .5em; }
    100% { width: 1.5em; margin-right: 0;}
}
.ani_dot {
    animation: dot 1s infinite step-start;

}

/**

 * @Memo 模仿android里面的Toast效果
 * @Date Feb 23,2017
 * 使用方式:
 * 1、在页面最后引入toast.js文件,
 * 2、在需要的位置创建对象并且调用方法。如:new Toast("加载中...",2000).show();
 */
var Height=document.body.clientHeight;//取得页面可视区域的高度
var Width=document.body.clientWidth;//取得页面可视区域的宽度
/**
 * @param message 消息体  提示的内容 尽量小于10个字
 * @param time 显示持续时间  默认2000毫秒
 * @return 
 */ 
var Toast = function(message,time){  
    this.message = message || "加载中...";//显示内容
    this.time = !time?2000:time;//持续时间  
  var reg = /^[0-9]+$/ ;//验证是否问正整数表达式
    if(!reg.test(this.time)){//如果是非数字
    this.time = 2000;
    }
    //点点点点等待效果制作
    this.message = removeDot(this.message) ;
    this.init();  
}  
var msgEntity;  
Toast.prototype = {  
    //初始化显示的位置内容等  
    init : function(){  
        $("#toastMessage").remove();  
        //设置消息体  
        var msgDIV = new Array();  
        msgDIV.push('
');  
        msgDIV.push(''+this.message+' ... ');  
        msgDIV.push(makeCloseDiv());  
        msgDIV.push('
');  
        msgEntity = $(msgDIV.join('')).appendTo(document.body);  
        //设置消息样式  
        var DivHeight = document.getElementById("toastMessage").offsetHeight;//获取div块的高度值
var DivWidth = document.getElementById("toastMessageSpan").offsetWidth;//获取div块中文字所在span的宽度值 
        var left = (Width - DivWidth) / 2  +  "px";//距容器左边的距离  
        var top = (Height - DivHeight) / 2  +  "px";//距容器上方的距离  
        msgEntity.css("bottom","");
msgEntity.css("top","");
        msgEntity.css({'position':'absolute','top':top,'z-index':'999','left':left,'padding':'10px','color': '#FFFFFF','background': 'rgba(0, 0, 0, 0.7)','font-size': '14px','text-align':'center'}); 
        /*var postion = "middle";//默认屏幕正中央显示
        if("bottom"==postion){
msgEntity.css("bottom",50);
msgEntity.css("top","");//这里一定要置空
}else if("top"==postion){
msgEntity.css("bottom","");
msgEntity.css("top",50);
}else if("middle"==postion){
msgEntity.css("bottom","");
msgEntity.css("top","");
var h = msgEntity.height(),hh = $(window).height();
msgEntity.css("bottom",(hh-h)/2-20);
}*/
        msgEntity.hide();
    },  
    //显示动画  一定时间之后自动关闭
    show :function(){  
        msgEntity.fadeIn(100);  
        setInterval("msgEntity.fadeOut()",this.time);
    },
    //打开动画 不限时间
    open :function(){
    msgEntity.fadeIn(100);
    },
    //关闭动画
    close :function(){
    msgEntity.fadeOut(100);    
    }
}
/**移除字符串最后的省略号**/
function removeDot(str){
if(!str) return "";
//获取最后一个元素
var ch = str.charAt(str.length-1);
if(ch == '.' || ch == ',' || ch == '!'){
str = str.substring(0,str.length-1);
return removeDot(str);
}
return str;
}
function makeCloseDiv(){
/**************开始(此处可自定义关闭图片路径)下面是目前正在做的应用实际用到的************************/
var homrUrl = getLocalStorageValue("homeUrl");//此处获取存储手机本地的主页面连接URL
var closePngUrl = homrUrl.substring(0,homrUrl.length-9) + "images/close.png"//截取主页面URL根路径,然后拼接close.png的路径
/**************结束************************/
var s = "";
return s;
}
/**用的的图片为close.png  在附件中已经上传**/

你可能感兴趣的:(css,javascript)