主頁(yè) > 知識(shí)庫(kù) > JSP實(shí)現(xiàn)頁(yè)面右下角消息彈框

JSP實(shí)現(xiàn)頁(yè)面右下角消息彈框

熱門標(biāo)簽:電子圍欄 服務(wù)器配置 銀行業(yè)務(wù) 阿里云 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Mysql連接數(shù)設(shè)置 團(tuán)購(gòu)網(wǎng)站 Linux服務(wù)器

JSP頁(yè)面上通過(guò)JS實(shí)現(xiàn)消息彈出框,樣式可根據(jù)要求修改,這邊只是一個(gè)簡(jiǎn)單的示范例子,自定義了兩條消息,彈框效果如下

JSP頁(yè)面

%@ 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根據(jù)實(shí)際情況取
 ListMap> unreadList = new ArrayListMap>();
 MapString,String> map1=new HashMapString,String>();
 map1.put("msgId","1");
 map1.put("msgContent","message111111");
 unreadList.add(map1);
 MapString,String> map2=new HashMapString,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';//要初始化這個(gè)高度,雖然CSS里已經(jīng)初始化了
 
 setTimeout("tips_pop()",0); //調(diào)用tips_pop()這個(gè)函數(shù)
 }
 
 function tips_pop() {
 var MsgPop = document.getElementById("winpop");//獲取窗口這個(gè)對(duì)象,即ID為winpop的對(duì)象
 var popH = parseInt(MsgPop.style.height);//用parseInt將對(duì)象的高度轉(zhuǎn)化為數(shù)字,以方便下面比較
 
 if (popH == 0) { //如果窗口的高度是0
 MsgPop.style.display = "block";//那么將隱藏的窗口顯示出來(lái)
 show = setInterval("changeH('up')", 2);//開(kāi)始以每0.002秒調(diào)用函數(shù)changeH("up"),即每0.002秒向上移動(dòng)一次
 } else { //否則
 hide = setInterval("changeH('down')", 2);//開(kāi)始以每0.002秒調(diào)用函數(shù)changeH("down"),即每0.002秒向下移動(dòng)一次
 }
 }
 function changeH(str) {
 var MsgPop = document.getElementById("winpop");
 var popH = parseInt(MsgPop.style.height);
 if (str == "up") { //如果這個(gè)參數(shù)是UP
 if (popH = 100) { //如果轉(zhuǎn)化為數(shù)值的高度小于等于100
 MsgPop.style.height = (popH + 4).toString() + "px";//高度增加4個(gè)象素
 } else {
 clearInterval(show);//否則就取消這個(gè)函數(shù)調(diào)用,意思就是如果高度超過(guò)100象度了,就不再增長(zhǎng)了
 }
 }
 if (str == "down") {
 if (popH >= 4) { //如果這個(gè)參數(shù)是down
 MsgPop.style.height = (popH - 4).toString() + "px";//那么窗口的高度減少4個(gè)象素
 } else { //否則
 clearInterval(hide); //否則就取消這個(gè)函數(shù)調(diào)用,意思就是如果高度小于4個(gè)象度的時(shí)候,就不再減了
 MsgPop.style.display = "none"; //因?yàn)榇翱谟羞吙?所以還是可以看見(jiàn)1~2象素沒(méi)縮進(jìn)去,這時(shí)候就把DIV隱藏掉
 }
 }
 }
 /script>
 
 %if(num>0){ %>
 div id="winpop">
 div class="title" >系統(tǒng)信息br>
 共有font color="red">big>%=num %>/big>/font>條未讀消息
 span class="close" οnclick="tips_pop()">X/span>/div>
 %for(int i=0;inum;i++) { %>
 !-- 點(diǎn)擊信息標(biāo)題鏈接到信息明細(xì),傳遞信息編號(hào)參數(shù) -->
 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>
 !-- 點(diǎn)擊查看更多未讀消息 -->
 a href="/XXXAction.do %>" >font color="red">更多未讀消息.../font>/a>/center>
 /div>
 %} %>
 /body>
/html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • JSP實(shí)現(xiàn)彈出登陸框以及陰影效果

標(biāo)簽:衡水 大理 蚌埠 江蘇 棗莊 衢州 廣元 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP實(shí)現(xiàn)頁(yè)面右下角消息彈框》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266