在java web認證系統(tǒng)開發(fā)中,客戶要求有數(shù)據(jù)更新時要在頁面彈出提示框,這樣方便在旁邊的工作人員可以及時的知道有新數(shù)據(jù)提交了,我們除了使用及時的推送技術外還可以使用ajax來實現(xiàn)這些功能。
代碼實現(xiàn)的原理,在頁面啟用定時執(zhí)行ajax請求,如果獲得數(shù)據(jù)是最新狀態(tài)的,要執(zhí)行語音提示和彈出框提示,這樣實現(xiàn)的弊端是頻繁的調(diào)用數(shù)據(jù)庫,該方法只適合于使用人數(shù)較少的系統(tǒng)。
1、加入語音提示
<audio id="sound" autoplay="autoplay">
動態(tài)加入播放語音文件代碼:
document.getElementById("sound").src="<%=basePath%>admin/media/global.wav";
2、動態(tài)彈出消息提示框:
在此處我導入了jquery.gritter.js和jquery.gritter.css,具體實現(xiàn)代碼:
jQuery(document).ready(function() {
setInterval(function(){
$.post('ajax/linecheck',function(data){
var json=eval("("+data+")");
$.each(json,function(index,item){
$("#line"+item.id).html("")
$.each(item.localList,function(index,item2){
if(item2.attendOCList!=""){
$("#line"+item.id).append("<li class='in' id='in"+item2.id+"'><div class='avatar'>"
+item2.location+"</div><div class='message'><ul id=li"+item2.id+"></ul></div></li>")
}
$.each(item2.attendOCList,function(index,item3){
if(item3.status==0){
$("#li"+item2.id).append("<li class='user'><span class='username'>"+item3.person_name
+"</span><br><span style='color:red;' class='username'>時間: "
+ item3.today+" "+item3.times +"</span><br><span class='username'>電話:"
+item3.person_phone+"</span><br><span class='username'>身份證:"
+item3.card_id+"</span></li><hr>");
}else{
$("#li"+item2.id).append("<li class='user'><span class='username'>"
+item3.person_name+"</span><br><span style='color:red;' class='username'>時間: "
+ item3.today+" "+item3.times +"</span><br><span class='username'>電話:"
+item3.person_phone+"</span><br><span class='username'>身份證:"
+item3.card_id+"</span></li><hr>");
document.getElementById("sound").src="<%=basePath%>admin/media/global.wav";
setTimeout(function () {
var unique_id = $.gritter.add({
title: item3.person_name+"("+item2.location+")",
text:"<span class='username'>"+item3.person_name
+"</span><br><span style='color:red;' class='username'>時間: "
+ item3.today+" "+item3.times +"</span><br><span class='username'>電話:"
+item3.person_phone+"</span><br><span class='username'>身份證:"+item3.card_id+"</span>",
sticky: true,
time: '',
class_name: 'my-sticky-class'
});
setTimeout(function () {
$.gritter.remove(unique_id, {
fade: true,
speed: 'slow'
});
}, 12000);
}, 2000);
}
});
});
});
});
},2000);
});
以上內(nèi)容是小編給大家介紹的JS實時彈出新消息提示框并有提示音響起的實現(xiàn)代碼,希望對大家有所幫助!