Question

J'ai une fonctionnalité de chat sur mon site que je veux reproduire la fonctionnalité facebook de clignotant « nouveau message de John » dans la balise de titre quand un nouveau message arrive. Je peux le faire pour une instance d'un nouveau message cependant Je dois faire cela pour tous les nouveaux messages (possibilité infinie). Par conséquent, un besoin en boucle setInterval à créer et faire défiler les noms des personnes qui ont envoyé un nouveau message. Laisse supposer John, Sue, George et Katy me ont envoyé de nouveaux messages; c'est ce que j'ai jusqu'à présent:

 $("div .labels").each(function(){   //.labels where each persons name is displayed in the bottom banner bar
  var senderFirstName = $(this).attr('rel');
  //this is where I need to create the array "AllNames" containing all of the sender names
 });

Maintenant que je le tableau « AllNames » contenant tous les prénoms de personnes me envoyer des messages, je dois parcourir ce tableau tous les 1500ms et changer la balise de titre pour refléter le nouveau nom.

 var BlinkTitle = setInterval(function(){
     $("title").text("message from " + AllNames[0]); //AllNames array needs to cycle through the array values every time the interval loops.
 },1500);

S'il vous plaît Aide !!

Était-ce utile?

La solution

Juste incrémenter un indice:

var AllNames = ['Me', 'Myself', 'Irene'];

var ix = 0;

var BlinkTitle = setInterval(function(){
    if (++ix >= AllNames.length) ix = 0;

    $("title").text("message from " + AllNames[ix]); //AllNames array needs to cycle through the array values every time the interval loops.
},1500);

Vérification contre AllNames.length vous empêcher d'accéder après la fin de AllNames.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top