2014-01-06 92 views
3

我在多个图像库上使用灯箱2。我想为我的用户提供一种方式,让他们在灯箱中查看图片时在图片库中下载图片。一个“下载”按钮将是完美的,我在附近的标题上画下来。灯箱图像下载

问题是我吮吸Javascript(这个项目是一个很少使用的内部工具,我自愿将它一起破解,这不是我的专业领域)。我发现一些相当不错的开始获得我想要的功能,但我不知道如何将它们缝合在一起。以下是我正在看的内容,我希望能有一些更完整的说明(即在lightbox.js中插入这些行后面的代码...)。

我已经找到了,但不能使用:

1)一个工作的WordPress插件 - 但我不使用WordPress

Here你可以找到灯箱的改装版作为WordPress插件提供。 This site使用它(看运动捕捉套装中的孩子们的照片)。我认为他插入的下载链接很完美,但我宁愿不更改我的标记以使用WordPress插件。我想通过数据灯箱关注灯箱2模式。

2.)这段代码我不明白。它提供了隐含的指令来“修改lightbox.js文件”。但是,在?:

$('<div/>', { "class": 'lb-saveContainer' }).append($('<a/>', { "href": '', "target":"_blank" }).append($('<img/>', { src: this.options.fileSaveImage })))

+1

尝试增加'$(“ LB-数‘)。追加(’Download”)'就行[172 (https://github.com/lokesh/lightbox2/blob/master/js/lightbox.js#L172)...我没有尝试它自己,但是这可能工作。你可能需要不同的风格...顺便说一下,这是一个黑客... – kentcdodds

回答

0

添加标记为f将下载按钮添加到Lightbox使用的模板中。灯箱将所有的点击劫持到插件,所以你必须添加一个事件处理程序到你的新标记。在与添加标记相同的启动功能中执行此操作。您可以使用

window.open() 

在新选项卡中打开链接。

然后你就可以填充基于链接

this.album[this.currentImageIndex].link 

在updateDetails功能后。

0

片断不能修改该文件,但jQuery的追加的HTML代码部分在电流的div HTML类是具有类LB-saveContainer设置 如果有

div class="lb-saveContainer" 
     a href ..... img1 /a 
     a href .... img2 /a 
     . 
     a href ... imgn /a 
    /div 

其中“a”系列标签是用于lightbox 视图的系列用途,该类添加div,适用于每个“a”片段运行链接时打开保存图像浏览

+0

感谢您的帮助。我很感激。 – dodgertodd

1

我知道这是一个老帖子,但我花了很多时间一个很好的协议寻找一个答案来过这个问题。

如果将以下代码添加到lightbox.css的底部。您将可以右键点击图片,选择“图片另存为...”

.lb-nav { 
     pointer-events: none; 
    } 

    .lb-prev, .lb-next { 
     pointer-events: auto; 
    }