首页 文章

获取灯箱(或其替代品)以在单击链接时动态显示库

提问于
浏览
0

注意:我已经使用了lightbox及其许多替代方案来尝试修复此问题并暂时使用clearbox .

问题:目前我有javascript代码,根据点击的元素,灯箱的模态弹出窗口应该向用户显示一组不同的图像 . 以下是我目前正在修改的代码 .

$("download").html(" \
<span style='color:white'> \
    <a href='img/26.jpg' rel='clearbox' title='Caption'>View Screenshots</a> \
</span>
\

然而,链接不启动灯箱(适用于页面上已有的链接),我花了两天时间通过谷歌和stackoverflow寻找修复程序 .

我想要实现的概述:展示我的工作,其中一个图像将通过javascript动态添加为超链接,具体取决于所选择的工作 . 当用户点击它时,它们将允许它们浏览隐藏但是部分图库的所有其他图像 . 将有多个画廊 . 谢谢你的阅读 .

编辑1:请原谅mspaint的工作http://i.stack.imgur.com/rN8q1.jpg

1 回答

  • 0

    问题是你必须在通过ajax拉入页面的任何链接上调用clearbox . 当你最初调用clearbox时,jQuery会从你的选择器中获取所有元素,并为它们添加功能 . 如果你那么,通过ajax引入其他链接(或者甚至将它们添加到dom中),然后clearbox尚未针对这些元素进行实例化 .

    jQuery .live() 函数修复了添加到dom的元素,但是clearbox不是为了使用 .live() 而构建的 . 因此,您必须在分别添加到页面的任何其他链接上调用clearbox .

    http://api.jquery.com/live/


    EDIT 我已经快速浏览了clearbox文档页面:http://www.clearbox.hu/index_en.html

    它声明您可以调用 CB_Init() 将clearbox添加到新项目:

    在AJAX中使用脚本如果您在网页中使用AJAX加载新内容而不刷新它,并且您想要清除框也使用新内容,则必须调用CB_Init();在AJAX内容加载后运行 .

    所以你可以这样做:

    $("download").html(" \
            <span style='color:white'> \
               <a href='img/26.jpg' rel='clearbox' title='Caption'>View Screenshots</a> \
            </span>
    \ "); CB_Init();

相关问题