如何使用箭头在jQuery中翻页?

3
使用jQuery,我需要做以下操作...
用户将关注我的社交网络站点上的用户照片库的链接。页面上会加载一张照片,与该照片相关的评论和分页将在照片下面显示。基本上,这张照片和评论将是一个单独的页面,通过AJAX加载,然后当用户按左或右箭头键时,我想要将不同的照片/评论页面加载到页面中。
到目前为止,我认为它听起来相当简单,但是当新页面被加载时,我想要将某些内容添加到URL中。例如,一个页面的URL可能是像这样的:photos.php?user_id=2342323&photo_id=4234124,当他们使用箭头加载下一张图片时,它应该更改为添加#3523543,然后当用户复制/粘贴该URL时,它将在浏览器中加载正确的照片。
有什么想法如何在jquery中实现这个?
4个回答

2

一个简单的 jQuery keyup 监听器就足以胜任这个角色。

基本上,你可以利用浏览器的一个怪异行为,将 URL 重写为

window.location = 'something';

无需重新加载页面即可实现。然后您需要实现一个客户端侦听器来创建结果永久链接。


0

你不能更改url(window.location)而不导致重新加载。但是你可以在页面的其他位置提供新照片的URL。


我理解你的意思,然而Facebook是用我提到的方法实现的。当它加载新图片到页面时,它不会重新加载页面,而是添加一个#后跟着数字的标记,并每次加载新照片时更新该数字。我认为myspace现在也是这样做的。 - JasonDavis
如果你使用 window.location 将当前 URL 加上 #(你也可以在 # 后面添加内容,这是关键),无论 pragma/cache 设置如何,浏览器都不会刷新。 - Steven

-1
最好有一个“分享此内容”的链接(类似于亚马逊等),该链接具有正确的URL。

-1

我觉得Facebook应该是这样做的。也许你可以查看一下Facebook相册的源代码,看看它是如何实现的,然后将这个概念转化为jQuery?


这正是这个想法的来源。我已经研究了他们的代码很多,但我无法弄清楚他们是如何做到的,他们有自己的JS框架,这超出了我的技能范围。 - JasonDavis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接