2010-01-13 5 views
3

Avec jquery j'ai besoin de faire quelque chose comme ça ...Comment utiliser les flèches pour changer de page dans jquery?

Un utilisateur suivra un lien vers une galerie de photos d'utilisateurs sur mon site de réseau social. Une photo sera chargée sur la page et les commentaires relatifs à cette photo avec pagination seront sous la photo. Basiquement cette photo et les commentaires seront une page séparée qui est chargée avec AJAX, puis lorsqu'un utilisateur appuie sur la touche flèche gauche ou à droite, je voudrais charger une page photo/commentaires différents dans la page. Jusqu'à présent, cela semble assez simple, mais je voudrais ajouter quelque chose à l'URL lors du chargement d'une nouvelle page. Disons qu'une page sera comme ça dans l'URL photos.php? User_id = 2342323 & photo_id = 4234124 quand ils utilisent la flèche pour charger l'image suivante il faut changer pour ajouter quelque chose comme ça sur # 3523543 puis quand un utilisateur copier/coller cette URL il chargerait la bonne photo dans le navigateur.

Des idées comment faire cela dans jquery?

Répondre

2

Un simple écouteur jQuery keyup sera plus que suffisant pour remplir ce rôle.

Fondamentalement, vous profitez d'une bizarrerie du navigateur qui vous permet de réécrire l'URL avec

window.location = 'something'; 

sans recharger la page. Ensuite, vous implémentez un écouteur côté client pour créer le permalien résultant.

-1

Il serait peut-être préférable d'avoir un lien "Partager ceci" (à la Amazonie, etc) qui a l'URL correcte.

0

Vous ne pouvez pas modifier l'adresse URL (window.location) sans provoquer de rechargement. Vous pouvez fournir l'URL à la nouvelle photo quelque part dans votre page si.

+0

Je comprends ce que vous dites cependant Facebook fait comme je le mentionne, quand il charge une nouvelle image dans la page, il ne recharge pas la page mais il ajoute # suivi de chiffres et de mises à jour qui avec un nouveau numéro chaque fois photo est chargé. Je pense que myspace fait maintenant trop – JasonDavis

+0

'Si vous window.location' à l'URL courante plus' '# (vous pouvez aussi mettre des choses après le #, qui est la clé ici), le navigateur ne se réactualise , peu importe les paramètres pragma/cache. –

-1

Facebook fait cela, je pense. Peut-être pourriez-vous jeter un coup d'œil à la source d'un album Facebook pour voir comment cela se passe et traduire ce concept en jQuery?

+0

C'est exactement d'où l'idée est venue. J'ai beaucoup étudié le code mais je n'ai pas réussi à comprendre comment ils le font, ils ont leur propre framework JS, ça dépasse mes compétences – JasonDavis

Questions connexes