在java web認(rèn)證系統(tǒng)開發(fā)中,客戶要求有數(shù)據(jù)更新時(shí)要在頁(yè)面彈出提示框,這樣方便在旁邊的工作人員可以及時(shí)的知道有新數(shù)據(jù)提交了,我們除了使用及時(shí)的推送技術(shù)外還可以使用ajax來實(shí)現(xiàn)這些功能。
代碼實(shí)現(xiàn)的原理,在頁(yè)面啟用定時(shí)執(zhí)行ajax請(qǐng)求,如果獲得數(shù)據(jù)是最新狀態(tài)的,要執(zhí)行語(yǔ)音提示和彈出框提示,這樣實(shí)現(xiàn)的弊端是頻繁的調(diào)用數(shù)據(jù)庫(kù),該方法只適合于使用人數(shù)較少的系統(tǒng)。
1、加入語(yǔ)音提示
<audio id="sound" autoplay="autoplay">
動(dòng)態(tài)加入播放語(yǔ)音文件代碼:
document.getElementById("sound").src="<%=basePath%>admin/media/global.wav";
2、動(dòng)態(tài)彈出消息提示框:
在此處我導(dǎo)入了jquery.gritter.js和jquery.gritter.css,具體實(shí)現(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'>時(shí)間: "
+ 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'>時(shí)間: "
+ 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'>時(shí)間: "
+ 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實(shí)時(shí)彈出新消息提示框并有提示音響起的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助!