在做手机端网页时,关于alert警示框在电脑上没有觉得有什么,但运行在手机上就有点不太友好。在网上找了个代码加工了一下:
效果还不错。如下-----
<!DOCTYPE html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
window.οnlοad=function(){
warn("暂无内容",null,null,null) ;
};
function warn(msg,opt,left,top){
if(opt){
var obj = $("#"+opt);
}
new Toast({context:$('body'),message:msg},obj,left,top).show();
}
var Toast = function(config,obj,left,top){
this.context = config.context==null?$('body'):config.context;//上下文
this.message = config.message;//显示内容
this.time = config.time==null?3000:config.time;//持续时间
this.left = config.left;//距容器左边的距离
//this.top = (screen.availHeight/4)*3;//距容器上方的距离
this.top = config.top ;
if(obj){
this.left = obj.offset().left + left;
this.top = obj.offset().top + top;
}
this.init();
}
var msgEntity;
Toast.prototype = {
//初始化显示的位置内容等
init : function(){
$("#toastMessage").remove();
//设置消息体
var msgDIV = new Array();
msgDIV.push('<div id="toastMessage">');
msgDIV.push('<span>'+this.message+'</span>');
msgDIV.push('</div>');
msgEntity = $(msgDIV.join('')).appendTo(this.context);
//设置消息样式
var left = this.left == null ? this.context.width()/2-msgEntity.find('span').width()/2 : this.left;
var top = this.top == null ? '20px' : this.top;
msgEntity.css({position:'absolute',top:top,'z-index':'99',left:left,'background-color':'red',color:'white','font-size':'12px',padding:'5px',margin:'5px','border-radius':'4px','-moz-border-radius': '4px','-webkit-border-radius':'4px',opacity:'0.5','font-family':'微软雅黑'});
//msgEntity.addClass(".toast");
msgEntity.hide();
},
//显示动画
show :function(){
msgEntity.fadeIn(this.time/2);
msgEntity.fadeOut(this.time/2);
}
}
</script>
</body>
</html>
轮胎网