这不是一个问题,只是我想给你的一些建议。
经过数小时的谷歌搜索和测试,我没有找到适用于我的灯箱的解决方案。我不知道为什么,但我无法在标题中应用链接,而不是htmlentities()
等。
所以我提出了自己的解决方案,这只是一种解决方法。 我对自己并不满意,但这是它对我有用的唯一方式。 所以,如果你遇到像我一样的麻烦,只需添加以下代码:
在lightbox.js
中搜索此行代码(在我的文件中是第277行):
$lightbox.find('.lb-caption').html(this.album[this.currentImageIndex].title).fadeIn('fast');
并将其替换为:
$lightbox.find('.lb-caption').html('<span onclick="window.location.href=\'http://yourdomain.com\'">'+this.album[this.currentImageIndex].title+"</span>").fadeIn('fast');
我做了什么?
由于添加了.lb-caption
来显示title属性,我只需将原始输出包装在一个元素中,然后将click事件绑定到某个位置。
问题: 由于我包裹了整个title属性,整个title属性变成了一个链接。
获取光标:指针;在CSS和你的标准链接布局效果,只需将标题作为链接。通过这种方式,它不必是htmlentities()
解码链接。
示例:
<a href="img/image1.png" rel="lightbox[roadtrip]" title="<a class"lightboxlink">This link opens a new page</a>
另一个问题是:现在链接是静态的。 (因为我们没有使用链接的href)。
解决方案:
要将 One $_GET
属性添加到链接,我们只需要修改几行。
你所做的是,在你的图像调用(部分)中添加属性“rev”,意味着:
而不是<a href="img/image1.png" rel="lightbox[roadtrip]" title="<a class"lightboxlink">This link opens a new page</a>
,
您现在使用(添加“rev”属性“):
<a href="img/image1.png" rel="lightbox[roadtrip]" rev="test" title="<a class"lightboxlink">This link opens a new page</a>
现在到Javascript部分......
搜索:
if ($link.attr('rel') === 'lightbox') {
this.album.push({
这一部分,并替换:
link: $link.attr('href'),
title: $link.attr('title'),
带
link: $link.attr('href'),
title: $link.attr('title'),
rev: $link.attr('rev')
如果你走几行,你会看到链接的相同部分:$ ....,title:$ ....,用以下内容替换该部分:
link: $(a).attr('href'),
title: $(a).attr('title'),
rev: $(a).attr('rev')
现在我们只需要修改我们的包装器:(回到第279行,在$ _GET部分之前它是第277行)
$lightbox.find('.lb-caption').html('<span onclick="window.location.href=\'http://yourdomain.comindex.php?page=contact&t='+this.album[this.currentImageIndex].rev+'\'">'+this.album[this.currentImageIndex].title+"</span>").fadeIn('fast');
我们现在添加'+this.album[this.currentImageIndex].rev+'
而不是静态部分。
您可以重复此方法添加无限$_GET
个参数,只需在图片调用中添加新属性,然后像我在解释中所做的那样更改javascript。
这是解决标题问题中链接的一种非常复杂且不寻常的方法,但它是我在脚本中工作的唯一方式。
我希望我能帮助别人! :)