那个红色的点会不断地闪烁,如下:
待用户点击故障报警后,弹出具体信息:
待点击确定后 如下
<div class="user"> <span id="alert"> <a onclick="showDetail()" id="arert_img"> <img border="0" style="padding-top: 5px;" src="images/th.png" /> </a> <a href="#" id="editpass" onclick="showDetail()" style="color: #B8CEDA; font-size: 14px;">故障报警 </a> </span> <div id="alert_detail" class="easyui-dialog" title="消息警报" data-options="modal:true,closed:true,iconCls:'icon-save'" style="width: 750px; height: 360px; padding: 10px;"> <p>请查看以下警告!</p> <table id="dg"></table> <div style="text-align: center; padding: 10px"> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="$('#alert_detail').window('close');">确定</a> </div> </div> </div>
function checkData() { $.ajax({ type : "get", url : "HintCount", success : function(data) { $('#cc').html(data); if (data != 0) { document.getElementById('alert').style.display = ""; showImg(); } else { document.getElementById('alert').style.display = "none"; } } }); return false; }HintCount从数据库中取出未读的消息数目。
var f; function showImg() { var s=document.getElementById('arert_img'); if (s.style.visibility == "visible") //如果可见,则隐藏 s.style.visibility = "hidden"; else s.style.visibility = "visible"; //设置图像可见 f = setTimeout('showImg()', 500); //间隔的毫秒s }逻辑很清楚吧。关于这个f,到底有什么用,大家继续往后看。
function showDetail() { $('#alert_detail').window('open'); /* var s=$('#w'); alert(s); */ showdata(); setTimeout('changeStatus()', 500); } //把未读变成已读 function changeStatus() { $.ajax({ type : "post", url : "HintFlag", success : function(data) { } }); return false; } function showdata() { $('#dg').datagrid({ url : 'HintContent', method : 'get', title : '消息警报列表', width : 700, height : 250, fitColumns : true, singleSelect : true, columns : [ [ { field : 'id', title : 'ID', width : 100, align : 'center' }, { field : 'date', title : '消息时间', width : 300, align : 'center' }, { field : 'content', title : '消息内容', width : 400, align : 'center' }, ] ], onHeaderContextMenu : function(e, field) { e.preventDefault(); if (!cmenu) { createColumnMenu(); } cmenu.menu('show', { left : e.pageX, top : e.pageY }); } }); }这里用到了easyui的相关组件。大家自己学习一下吧。
function showImg() { var s=document.getElementById('arert_img'); if (s.style.visibility == "visible") //如果可见,则隐藏 s.style.visibility = "hidden"; else s.style.visibility = "visible"; //设置图像可见 f = setTimeout('showImg()', 500); //间隔的毫秒s }showImg已经自成循环了。
function clear() { clearTimeout(f); checkData(); } checkData(); setInterval('clear()', 3000);ok,我们看看完整的代码
<script type="text/javascript"> function showDetail() { $('#alert_detail').window('open'); /* var s=$('#w'); alert(s); */ showdata(); setTimeout('changeStatus()', 500); } //把未读变成已读 function changeStatus() { $.ajax({ type : "post", url : "HintFlag", success : function(data) { } }); return false; } var f; function showImg() { var s=document.getElementById('arert_img'); if (s.style.visibility == "visible") //如果可见,则隐藏 s.style.visibility = "hidden"; else s.style.visibility = "visible"; //设置图像可见 f = setTimeout('showImg()', 500); //间隔的毫秒s } //查看数据库中是否有为读数据 function checkData() { $.ajax({ type : "get", url : "HintCount", success : function(data) { $('#cc').html(data); if (data != 0) { document.getElementById('alert').style.display = ""; showImg(); } else { document.getElementById('alert').style.display = "none"; } } }); return false; } function showdata() { $('#dg').datagrid({ url : 'HintContent', method : 'get', title : '消息警报列表', width : 700, height : 250, fitColumns : true, singleSelect : true, columns : [ [ { field : 'id', title : 'ID', width : 100, align : 'center' }, { field : 'date', title : '消息时间', width : 300, align : 'center' }, { field : 'content', title : '消息内容', width : 400, align : 'center' }, ] ], onHeaderContextMenu : function(e, field) { e.preventDefault(); if (!cmenu) { createColumnMenu(); } cmenu.menu('show', { left : e.pageX, top : e.pageY }); } }); } function clear() { clearTimeout(f); checkData(); } checkData(); setInterval('clear()', 3000); //setInterval('showdata()',3000); </script>
原文地址:http://blog.csdn.net/dlf123321/article/details/45197971