2011-05-05 4 views
3

hey les gars, je suis en mesure d'enregistrer un cookie comme celui-ci $.cookie('position' + $(this).index('li').toString(), currentTop.toString());jquery cookie plugin: détermine si un cookie existe?

Et je suis en mesure de supprimer un cookie avec ce $.cookie('position' + $(this).index('li').toString(), null);

Cependant comment puis-je interroger si l'un de ces cookies existe?

if ($.cookie('position'+ $(this).index('li').toString()) == null) {

merci

mise à jour/edit:

Je horizontales liste-éléments (position absolue et une largeur de 100%) qui sont draggable. Lorsque je suis déposé (et déposé), je veux enregistrer la position de chaque élément de liste avec un cookie afin que le site se souvienne de la position de chaque élément.

<ul class="bars"> 
    <li><a href="home">Some Name</a></li> 
    <li class="page_item"><a href="#" title="Downloads">Downloads</a></li> 
    <li class="page_item"><a href="#" title="Contact">Contact</a></li> 
    <li class="page_item"><a href="#" title="Work">Work</a></li> 
</ul> 

Exemple: http://jsfiddle.net/wa9Ga/ Comme expliqué ci-dessus, je veux conserver la position de chaque élément avec un cookie. Et maintenant à ma question ci-dessus - je veux distribuer chaque élément de liste au hasard si le visiteur visite le site pour la première fois (donc aucun cookie n'a été défini).

Comment puis-je résoudre ce problème.

+0

non reliés, les navigateurs ont des limites en quantité autorisée de cookies par domaine. Bien que ce soit généralement assez élevé (~ 255), vous préférez stocker les chaînes en tant que valeur de cookie à la place, éventuellement en tant que tableau/objet JS. Cela rend la manipulation/manipulation aussi plus facile. – BalusC

+0

Plugin: http://plugins.jquery.com/project/Cookie –

+0

[Quelles sont les limites actuelles des cookies dans les navigateurs modernes?] (Http://stackoverflow.com/questions/5381526/what-are-the-current- cookie-limits-in-modern-browsers) – mplungjan

Répondre

5

si vous voulez tester si un cookie existe, vous pouvez simplement faire ceci:

var cookie_name = 'position'+ $(this).index('li').toString(); 

if ($.cookie(cookie_name)) { 
    do_something(); 
} 
else { 
    do_something_else(); 
} 
Questions connexes