需求:用户登录系统够,如果有未读消息,则显示未读图标.如果没有未读消息,则显示已读图标,用户单击未读图标,弹出未读列表.用户读完全部消息以后,图标为已读.要能够实时监测是否有未读.
这样呢,我考虑用一个定时器实现.而整个系统消息实现实在header部分,为了不影响客户体验.在定时器中进行ajax请求.定时查看用户是否有未读消息.
图标如下:
这是那个未读/已读图标
<a href="${ctx}/system/message/toQueryPage.do">
<li class="head_system globle_img fl mr15" id="notice"> </li>
</a>
js定时器实现
<script type="text/javascript">
$(function(){
//程序一加载,判断是否有系统未读消息.
requestAjax();
var handler = function(){
requestAjax();
}
//每个3秒执行一次定时任务,判断当前是否有未读消息
setInterval(handler,600000);
})
function requestAjax(){
$.ajax({
url:"${ctx}/system/message/query.do?search_EQ_status=0&type=recived",
type:"post",
dataType:"json",
success:function(data,statusText){
//是否有未读消息
var messageSize = data.result.result.length;
if(messageSize>0){
//有未读消息,则显示如下图标
$("#notice").removeClass().addClass("head_system1 globle_img fl mr15");
}else{
//没有未读消息,则显示这个图标
$("#notice").removeClass().addClass("head_system globle_img fl mr15");
}
}
});
}
</script>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。