java和jsp弹出提示框,JSP页面右下角消息弹框的实现(由下而上)

下面我对这个样式做了一点微调,但是核心代码没有变。

1d941479478f3c808de9b0c5960f80d3.png

jsp页面代码为:

#winpop { width:350px; height:0px; position:absolute; right:0; bottom:0; border:1px solid grey; margin:0; padding:1px; overflow:hidden; display:none; background:#FFFFFF}

#winpop .title { width:100%; height:30px; line-height:200%; background:#7dda1a ; font-weight:bold; text-align:center; font-size:14px;color:white}

#winpop .con { width:100%; height:360px; line-height:80px; font-weight:bold; font-size:12px; color:#FF0000; text-decoration:underline; text-align:center}

.close { position:absolute; right:4px; top:-1px; color:#FFFFFF; cursor:pointer}

//未读消息unreadList根据实际情况取

List unreadList = new ArrayList();

Map map1=new HashMap();

map1.put("msgId","1");

map1.put("msgContent","关于国庆放假的通知");

unreadList.add(map1);

Map map2=new HashMap();

map2.put("msgId","2");

map2.put("msgContent","祝大家国庆快乐!");

unreadList.add(map2);

int num=unreadList.size();

%>

window.onload = function tanchuang() { //加载

document.getElementById('winpop').style.height = '0px';//要初始化这个高度,虽然CSS里已经初始化了

setTimeout("tips_pop()",0);

}

//弹出提示框

function tips_pop() {

var MsgPop = document.getElementById("winpop");//获取窗口这个对象,即ID为winpop的对象

var popH = parseInt(MsgPop.style.height);//用parseInt将对象的高度转化为数字,以方便下面比较

if (popH == 0) { //如果窗口的高度是0

MsgPop.style.display = "block";//那么将隐藏的窗口显示出来

show = setInterval("changeH('up')", 30);//开始以每0.030秒调用函数changeH("up"),即每0.030秒向上移动一次

} else { //否则

hide = setInterval("changeH('down')", 30);//开始以每0.030秒调用函数changeH("down"),即每0.030秒向下移动一次

}

}

//变化高度

function changeH(str) {

var MsgPop = document.getElementById("winpop");

var popH = parseInt(MsgPop.style.height);

if (str == "up") { //如果这个参数是UP

if (popH <= 200) { //如果转化为数值的高度小于等于200、这里调整窗口高度

MsgPop.style.height = (popH + 4).toString() + "px";//高度增加4个象素

} else {

clearInterval(show);//否则就取消这个函数调用,意思就是如果高度超过200象度了,就不再增长了

}

}

if (str == "down") {

if (popH >= 4) { //如果这个参数是down

MsgPop.style.height = (popH - 4).toString() + "px";//那么窗口的高度减少4个象素

} else { //否则

clearInterval(hide); //否则就取消这个函数调用,意思就是如果高度小于4个象度的时候,就不再减了

MsgPop.style.display = "none"; //因为窗口有边框,所以还是可以看见1~2象素没缩进去,这时候就把DIV隐藏掉

}

}

}

0){ %>

系统信息()

关闭

">

16) {%>

if(i>=1){//最多显示两条

break;

}

} %>

">更多未读消息...

总结:本文中采用间隔增加div的高度来达到动画效果(由右下角底部上升),关闭时也是通过间隔减少高度来实现动画。

主要用到了js中的这两个函数var show = setInterval("changeH('up')", 30);//开始以每0.030秒调用函数changeH("up"),即每0.030秒向上移动一次

clearInterval(show);//否则就取消这个函数调用,意思就是如果高度超过200象度了,就不再增长了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值