2009-08-21 9 views
0

Sur ma page principale, j'ai ce code jquery qui fait un appel ajax et charge le contenu de toutes les pages dans un DIV sur ma page, il rafraîchit chaque X quantité de secondesComment puis-je faire les résultats d'un résultat jquery json rendre les éléments visibles

<!-- 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 --> 


<div id="#notificationcontainer"></div> 

Je suis désireux de changer cela mais pour le faire envoyer moins de données avant et en arrière, donc je suis désireux de faire ma sortie notification.inc.php une chaîne JSON à la place. Je vais lui faire avoir ces valeurs;

item2 = 1

item5 = 1

avis il y a 2 des objets qui sont marqués avec un 1, il y a un total de 6 éléments, mais je ne comprendra que ceux de la chaîne de json que je besoin de montrer, sur ma page principale je veux faire un code qui lira la chaîne json 1 signifie que la jquery devrait rendre cet élément visible sur la page Je vais avoir tous ces éléments mis à être caché sur la page, quand 1 doit être montré, jquery peut juste le rendre visible. également les noms génériques sont juste ils seront tous modifiés

<style type="text/css"> 
#item1{ 
    display:none; 
} 
#item2{ 
    display:none; 
} 
#item3{ 
    display:none; 
} 
#item4{ 
    display:none; 
} 
#item5{ 
    display:none; 
} 
#item6{ 
    display:none; 
} 
</style> 


<div id="notificationhead">Notifications</div> 
<div class="notificationlink" id="item1"><a href="">Testing 1</a></div> 
<div class="notificationlink" id="item2"><a href="">Testing 2</a></div> 
<div class="notificationlink" id="item3"><a href="">Testing 3</a></div> 
<div class="notificationlink" id="item4"><a href="">Testing 4</a></div> 
<div class="notificationlink" id="item5"><a href="">Testing 5</a></div> 
<div class="notificationlink" id="item6"><a href="">Testing 6</a></div> 

Comment puis-je faire cela?

Répondre

1

Pas la solution à votre question mais un autre conseil. Vous pourriez probablement simplifier un peu les choses en ajoutant une classe supplémentaire (comme "visible") à la div que vous voulez montrer, et en définissant le CSS à display: block sur cela et display: none à la classe notificationlink. Cela éliminerait le surdébit de la définition manuelle des ID sur chaque div.

Plusieurs classes sont autorisées en HTML, donc vous pouvez vous retrouver avec quelque chose comme class="notificationlink visible first-child extended". Parfaitement valide.

Questions connexes