【发布时间】:2013-09-10 00:41:06
【问题描述】:
我有一个页面,其中有几个链接打开不同的fancybox画廊。
通过点击如下链接(在本例中为“galleryone”)“激活”每个画廊:
<a class="manualfancybox" data-gallery="galleryone" name="galleryone" id="galleryone" href="#galleryone">
<img src="imageToClickToOpenGallery.png" />
</a>
每个画廊(在本例中为“galleryone”)由以下代码创建:
<div id="galleryone">
<a href="001.jpg" rel="gal_one" class="fancybox" /></a>
<a href="002.jpg" rel="gal_one" class="fancybox" /></a>
[…]
<a href="020.jpg" rel="gal_one" class="fancybox" /></a>
</div>
当用户点击“imageToClickToOpenGalleryOne.png”时,它会全屏打开“galleryone”fancybox(再次感谢JFK。没关系,应该是这样。
“Manual Fancybox”使用下面的 jquery:
/* MANUALFANCYBOX by JFK (https://stackoverflow.com/users/1055987/jfk) */
$(document).ready(function () {
$(".manualfancybox").on("click", function () {
var gallery = "#" + $(this).data("gallery");
$(gallery).find(".fancybox").eq(0).click();
return false;
});
});
问题:如果用户访问了我的页面并点击了“imageToClickToOpenGalleryOne.png”,我如何创建链接(如http://www.mysite.com/#galleryone)以打开“galleryone”?
Javascript、jquery、php….htaccess??我自己也想不通,更别提解决方案了……
也许由于安全原因,这甚至是不可能的,但我仍然需要一个解决方案来分享我的画廊的链接......
【问题讨论】:
-
你见过stackoverflow.com/a/9030970/1055987吗?不过可能需要稍作调整
-
对于这样的链接
http://www.mysite.com/#galleryone,您只需将其添加到您的代码中:if(window.location.hash) { $(window.location.hash).trigger('click'); }。 重要提示:只需确保将其放在 之后fancybox()初始化(或在ready()方法的末尾)。 -
是的,JFK,它确实使用此代码 yaaaayyyyy !唯一的问题是,由于某种原因,它不再显示图库背景,因此我无法单击图像外部的任何位置来关闭图像窗口(尽管它确实可以使用“ESC”键)。但是,您对另一个问题(stackoverflow.com/a/9030970/1055987)的回答非常有效。我会试试然后回来。
-
JFK,我无法将您的答案标记为正确,因为它在评论中。
-
拜托,JFK,看看:http://www.oleschmitt.com.br/novo/imagem/ 并点击任何画廊,看看它是/应该一直是。比尝试访问:http://www.oleschmitt.com.br/novo/imagem/#moda
标签: jquery html hyperlink fancybox fancybox-2