JS實時彈出新消息提示框并有提示音響起的實現(xiàn)代碼

字號:


    在java web認證系統(tǒng)開發(fā)中,客戶要求有數(shù)據(jù)更新時要在頁面彈出提示框,這樣方便在旁邊的工作人員可以及時的知道有新數(shù)據(jù)提交了,我們除了使用及時的推送技術外還可以使用ajax來實現(xiàn)這些功能。
    代碼實現(xiàn)的原理,在頁面啟用定時執(zhí)行ajax請求,如果獲得數(shù)據(jù)是最新狀態(tài)的,要執(zhí)行語音提示和彈出框提示,這樣實現(xiàn)的弊端是頻繁的調用數(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);
    });
    以上內容是小編給大家介紹的JS實時彈出新消息提示框并有提示音響起的實現(xiàn)代碼,希望對大家有所幫助!