JSP页面上通过JS实现动静弹出框,样式可按照要求修改,这边只是一个简朴的示典型子,自界说了两条动静,弹框结果如下
JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@page import="java.util.*"%> <html> <head> <style type="text/css"> #winpop { width:250px; 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:20px; line-height:20px; background:#0AB0FF ; font-weight:bold; text-align:center; font-size:12px;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} </style> </head> <% //未读动静unreadList按照实际环境取 List<Map> unreadList = new ArrayList<Map>(); Map<String,String> map1=new HashMap<String,String>(); map1.put("msgId","1"); map1.put("msgContent","message111111"); unreadList.add(map1); Map<String,String> map2=new HashMap<String,String>(); map2.put("msgId","2"); map2.put("msgContent","message222222"); unreadList.add(map2); int num=unreadList.size(); %> <body> <script language="javascript" type="text/javascript"> window.onload = function tanchuang() { //加载 document.getElementById('winpop').style.height = '0px';//要初始化这个高度,固然CSS里已经初始化了 setTimeout("tips_pop()",0); //挪用tips_pop()这个函数 } 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')", 2);//开始以每0.002秒挪用函数changeH("up"),即每0.002秒向上移动一次 } else { //不然 hide = setInterval("changeH('down')", 2);//开始以每0.002秒挪用函数changeH("down"),即每0.002秒向下移动一次 } } function changeH(str) { var MsgPop = document.getElementById("winpop"); var popH = parseInt(MsgPop.style.height); if (str == "up") { //假如这个参数是UP if (popH <= 100) { //假如转化为数值的高度小于便是100 MsgPop.style.height = (popH + 4).toString() + "px";//高度增加4个象素 } else { clearInterval(show);//不然就打消这个函数挪用,意思就是假如高度高出100象度了,就不再增长了 } } 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埋没掉 } } } </script> <%if(num>0){ %> <div> <div >系统信息<br> 共有<font color="red"><big><%=num %></big></font>条未读动静 <span οnclick="tips_pop()">X</span></div> <%for(int i=0;i<num;i++) { %> <!-- 点击信息标题链接到信息明细,通报信息编号参数 --> <a href="/XXXAction.do?msgId=<%=unreadList.get(i).get("msgId") %>"> <%if(String.valueOf(unreadList.get(i).get("msgContent")).length()>16) {%> <%=String.valueOf(unreadList.get(i).get("msgContent")).substring(0,16)+"..." %> <%} else{ %> <%=String.valueOf(unreadList.get(i).get("msgContent")) %> <%} %> </a><br> <% if(i>=1){//最多显示两条 break; } } %> <center> <!-- 点击查察更多未读动静 --> <a href="/XXXAction.do %>" ><font color="red">更多未读动静...</font></a></center> </div> <%} %> </body> </html>