【发布时间】:2012-04-16 19:14:43
【问题描述】:
我有一个 pinterest 风格的画廊。我想这样做,所以当您单击图像时,它会打开一个带有更大图像的花式框,然后在框中打开它下面的 cmets 和其他东西。但我希望每个图像/图像花式框都有自己的 url,这样人们就可以分享链接和东西。关于如何做到这一点的任何想法?
提前致谢
【问题讨论】:
我有一个 pinterest 风格的画廊。我想这样做,所以当您单击图像时,它会打开一个带有更大图像的花式框,然后在框中打开它下面的 cmets 和其他东西。但我希望每个图像/图像花式框都有自己的 url,这样人们就可以分享链接和东西。关于如何做到这一点的任何想法?
提前致谢
【问题讨论】:
只需使用 fancybox 作为默认值。当 onComplete 事件被引发时,为 fancybox 容器操作 DOM 和 serach,然后添加 cmets 和其他东西。
【讨论】:
您可以使用 HTML5 历史记录更改浏览器中的 url。 https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
然后在整个页面加载时,您可以使用 window.location 获取 url 并修改 DOM 以满足您的需要。
【讨论】:
有两种方法:
1. 像 Facebook 一样:http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page
2. 像 Twitter 那样:
您可以使用 location.hash //example.com/location.hash = 'foo'; //becomes example.com/#foo
【讨论】:
我会通过创建一个 PHP 脚本来解决这个问题,该脚本接受图像的 id,例如outputimage.php?id=123 然后输出图片的html,cmets etx。可以使用 jQuery ajax 调用来调用此脚本,该调用从脚本中请求 html,然后将其放置在 fancybox div 中。
另一个名为image.php?id= 的页面再次接收图像的id 并使用outputimage.php 在单独的页面布局中显示html。然后,此页面将成为您的独立布局。
【讨论】: