PrettyPhoto Jquery插件,使用span而不是anchor并获得相同的结果

时间:2012-10-16 12:19:35

标签: jquery lightbox prettyphoto

我使用PrettyPhoto Jquery插件作为灯箱在我的网站上显示图像,当用户点击缩略图时,图像显示在叠加DIV中。

默认情况下,PrettyPhoto使用围绕图像的锚链接(<a>)。锚具有指向图像的原始大小/更大版本的链接。我不想使用<a>标签,因为我更喜欢那些图像不会被索引,也不会使用nofollow。是否可以选择替换<a>并获得相同的结果?

我自己尝试了但是它并没有按照预期触发原始图像的叠加div。也许我可以在代码中做些什么来使它工作。

再次,不要:

 <a href="original-image.jpg"><img src="thumb,jpg /></a>

想要:

 <span data-source="original-image.jpg"><img src="thumb.jpg /></span>

可以下载原始文件非压缩Jquery插件via this link

另一个可能很好的选择是保留anchoe但使用href="#"并将原始图像URL放在另一个属性中,例如'data-source'并从那里读取它。这甚至是一个更好的选择。

由于

1 个答案:

答案 0 :(得分:1)

尝试更改插件中的这一行

pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return $(n).attr('href'); }) : $.makeArray($(this).attr('href'));

pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return $(n).attr('data-source'); }) : $.makeArray($(this).attr('data-source'));

编辑:和

set_position = jQuery.inArray($(this).attr('href'), pp_images); // Define where in the array the clicked item is positionned

set_position = jQuery.inArray($(this).attr('data-source'), pp_images); // Define where in the array the clicked item is positionned