自己做了一个 弹出层, 隔一段时间自动退出的效果 —— 该效果基于bootstrap控件开发 。
<body>
<div id="huangbiao" onclick="abc()">sdadsafdsaf</div>
</body>
<script src="../js/jquery.min.js"></script>
<!-- Bootstrap v3.3.4 核心 JavaScript 文件 -->
<script src="../js/bootstrap.min.js"></script>
<link rel="stylesheet" href="../css/sqh_style_v2.0.css">
<script>
function abc(){
//设置自动提示窗口的配置信息
var setting = {
//提示的内容
content : "弹出提示内容dsafdsafdsa"
};
//弹出提示信息
sqh_tips(setting);
}
//添加弹出提示信息,之后就自动消失
function sqh_tips(mysetting){
var setting = {
//提示的内容
content : "弹出提示内容",
//指明弹出窗口的内容
width : "200px",
//显示的时间
persistent : 1000,
//显示回调函数
beforeShow : function(obj){
// alert(obj.outerHTML);
//删除添加的节点
$(obj).remove();
},
//退出的时间
hide:300
};
//获取用户的配置文件
setting = $.extend(setting,mysetting);
function addHtml(setting){
var contentHtml ='<div id="'+setting.target+'">'+
'<div style="position: fixed;top:30%;width: 100%;z-index:1050;" id="__dialog_div">'+
'<div style="position: relative;width: '+setting.width+';margin:0px auto;" onclick="remove()">'+
'<div class="alert alert-info">'+
setting.content+
'</div>'+
'</div>'+
'</div>'+
'<div class="modal-backdrop fade in" id="__zhezhao"></div>'+
'</div>';
//将遮罩效果代码添加到body标签中
$("body").append(contentHtml);
//让弹出内容有进入 和 退出的效果
$("#"+setting.target).show().delay(setting.persistent).hide(setting.hide,function(){
setting.beforeShow(this);
});
}
//如果传递的参数不正确,则
if(typeof setting != "object"){
setting.content = "参数传递有误";
}
//添加代码,弹出效果
addHtml(setting);
}
</script>
备注:
由于时间问题,自我感觉需要优化的方向:
1、使用new方法只产生一个对象,而不是每次都调用该方法
2、利用产生的对象,调用自身的show 和 hidden方法,不用来回的添加和删除节点
3、应该有三个阶段 —— 初始化阶段回调函数 、 显示前阶段回调函数 、 显示后阶段回调函数。

