在java web認證系統開發中,客戶要求有數據更新時要在頁面彈出提示框,這樣方便在旁邊的工作人員可以及時的知道有新數據提交了,我們除了使用及時的推送技術外還可以使用ajax來實現這些功能。
程式碼實現的原理,在頁面啟用定時執行ajax請求,如果獲得資料是最新狀態的,要執行語音提示和彈出框提示,這樣實現的弊端是頻繁的呼叫資料庫,該方法只適合使用人數較少的系統。
1、加入語音提示
<audio id="sound" autoplay="autoplay">
登入後複製
動態加入播放語音檔案代碼:
document.getElementById("sound").src="<%=basePath%>admin/media/global.wav";
登入後複製
2、動態彈出訊息提示框:
在此處我導入了jquery.gritter.js和jquery.gritter.css,具體實作程式碼:
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("
"
+item2.location+"
")
}
$.each(item2.attendOCList,function(index,item3){
if(item3.status==0){
$("#li"+item2.id).append("
"+item3.person_name
+"
时间: "
+ item3.today+" "+item3.times +"
电话:"
+item3.person_phone+"
身份证:"
+item3.card_id+"
");
}else{
$("#li"+item2.id).append("
"
+item3.person_name+"
时间: "
+ item3.today+" "+item3.times +"
电话:"
+item3.person_phone+"
身份证:"
+item3.card_id+"
");
document.getElementById("sound").src="<%=basePath%>admin/media/global.wav";
setTimeout(function () {
var unique_id = $.gritter.add({
title: item3.person_name+"("+item2.location+")",
text:"
"+item3.person_name
+"时间: "
+ item3.today+" "+item3.times +"电话:"
+item3.person_phone+"身份证:"+item3.card_id+"",
sticky: true,
time: '',
class_name: 'my-sticky-class'
});
setTimeout(function () {
$.gritter.remove(unique_id, {
fade: true,
speed: 'slow'
});
}, 12000);
}, 2000);
}
});
});
});
});
},2000);
});
登入後複製
以上內容是小編給大家介紹的JS即時彈出新訊息提示框並有提示音響響起的實現代碼,希望對大家有幫助!