2009-08-30 9 views
0

私はAJAX/jquery通知スクリプトを作成しています。
現在、AJAXの応答では、10秒ごとにfhtml形式のページ全体がretunrsされます。それが戻っている
ページは、私が望んでいだけ 示されるべき項目を示すPHPのページ(新しいメールメッセージまたは新規コメントなどのようなものNEWショーアップを、持っているアイテムのみを...)AJAX JSONレスポンスが適切なデータを表示する場合、どのように非表示のDIVを表示できますか?

ですこれを私のメインページ(親)でJSONを使用するように変更するには、通知項目ごとにDIVを設定し、デフォルトでCSS を使用して非表示にし、JSONレスポンスが非表示にする項目を指定します。

これは私の基本的な計画であり、以下は視覚的なモックアップコードです。

JSON応答は、10のような可能性の項目のうち、それだけで(その項目を表示するには、yesを意味する)1でマークされたアイテムを返します
私が唯一である項目を示していますので、1がさえ必要とされない場合がありますすでにPHPで公開されていることが確認されていますか?

{"mail":"1", "friend_request":"1" , "comment":"1" , "photo_comment":"1"}, 

メインの親ページには、このように非表示にするCSS付きのDIVがあります。私はこれを行うだろうか(デモ用のみ4つの項目)

<style type="text/css"> 
#mail_notification{ 
    display: none; 
} 
#friend_request_notification{ 
    display: none; 
} 
#comment_notification{ 
    display: none; 
} 
#photo_comment_notification{ 
    display: none; 
} 
</style> 

<div id="mail_notification"><a href="someurl.com/mail.php?id2424">New Mail</a></div> 
<div id="friend_request_notification"><a href="someurl.com/mail.php?id2424">New Friend Request</a></div> 
<div id="comment_notification"><a href="someurl.com/mail.php?id2424">New Profile COmments</a></div> 
<div id="photo_comment_notification"><a href="someurl.com/mail.php?id2424">New Photo Comments</a></div> 

だから、誰かが私を見ることができますか?ここで


は、Ajaxの通知を示すOLD方法を使用するための私のCUREENTコードが、それはまだ

<!-- Auto update/look for NEW notifications --> 
<script type='text/javascript'> 
$(document).ready(function(){ 
    var updatenotification = function(){ 
      $('#notificationcontainer') 
       .load('/modules/member/home/notifications.inc.php') 
       .fadeIn("slow"); 
    }; 
    var auto_refresh = setInterval(function(){updatenotification();}, 5000); 
    updatenotification(); 
}); 
</script> 
<!-- ENDS HERE --> 

答えて

3

が変更あなたの更新通知メッセージではなく、負荷の取得に使用するJSONを使用していませんさコールバックはJSONキーを反復し、キーに対応する値が1であるDIVを表示します。

var updatenotification = function(){ 
      $('#notificationcontainer') 
       .get('/modules/member/home/notifications.inc.php',null,function(data) { 
        for (key in data) { 
         if (data[key]) { 
          $('#' + key + '_notification').fadeIn(); 
         } 
        } 
       }); 
    }; 
+0

あまりにも簡単なようです!まだ完全にはコード化されていないので、質問する必要があります。パフォーマンスのために変更する必要がありますか?このスクリプトはあなたの助けを何度も何度も何度も実行されます – JasonDavis

関連する問題