为什么lightbox jQuery插件不适合我?

按照这里的说明进行操作: http : //lokeshdhakar.com/projects/lightbox2/和“Murach的JavaScript和jQuery”一书(第320和321页),我正在尝试为我的网站添加灯箱function。

我添加了lightbox.css(和screen.css,可能也需要它),我的Content文件夹,以及lightbox.js和jquery.smooth-scroll.min.js(因为它包含在灯箱下载中,我想象灯箱需要它)到我的Scripts文件夹。

我还在我的Images文件夹中添加了以下图片:light.png,loading.gif,next.png和prev.png。

我有这个html和jQuery代码(这是整个Default.cshtml):

@{ Layout = "~/_SiteLayout.cshtml"; Page.Title = "el Garrapata - Spoon!!!"; }   $(document).ready(function () { $("#tabs").tabs(); });  

…但它不起作用:虽然在“弹簧”选项卡中显示一个缩略图图像,但单击它只会导致屏幕大部分变暗 – 它变得“灰显”到几乎不透明的程度。

灯箱下载还包括jquery-1.7.2.min.js和jquery-ui-1.8.18.custom.min.js

我在_SiteLayout.cshtml中引用了较新的版本:

   

这可能是问题吗? 如果我想使用lightbox,我是否“使用旧版本的jQuery和jQueryUI”?

顺便说一下,我试图在灯箱的内部论坛上发布这个post,但无法登录,无论是Fakebook还是Google(虽然我(不情愿的是前者)帐户同时使用;还有我试过的OpenID爵士乐,但它似乎期待一个URL …… ???)

UPDATE

注意:我准备尽快给这个问题100分。 如果我在此之前得到答案,我将奖励赏金后答案。

更新2

我已经切换到fancyBox,但是当点击“缩略图”而不是中心时,大(href)图像仍然会拥抱页面的左侧。 这里是所有Razor,HTML和jQuery(为简洁起见,一些图像代码被省略):

从_SiteLayout.cshtml中选择:

   <!-- May want to replace the above before deploying with use of a CDN:  OR:  ..and similar for jquery-ui -->   

来自Default.cshtml:

 @{ Layout = "~/_SiteLayout.cshtml"; Page.Title = "Garrapata"; }   $(document).ready(function () { $("#tabs").tabs(); $(".fancybox").fancybox({ openEffect : 'elastic', closeEffect : 'elastic' }); });  

此外,我没有在NE角落看到“关闭”按钮 – 可能是因为占据所有“顶部”空间的大图像没有留下空间让它可见。

更新3

现在我看到我在_SiteLayout.cshtml中引用的.css和.js文件应该在/ fancybox / source中

这似乎不是我现在所拥有的,即:

   

…… 应该做些什么:

   

…因为我已将这些文件复制到这些位置。

你提到的方式真的必须是那种特殊的(而且,在我看来,相当特殊)吗?

因为它看起来基于我所拥有的css和js根本就找不到,所以我很惊讶它甚至可以正常工作……

您尝试实现的灯箱仅适用于jQuery jquery-1.7.2或更低版本,并且您不需要jquery-ui-1.9.2.min.js以使Lightbox工作。

要使此版本的灯箱工作,您需要lightbox.cssjquery-1.7.2.jslightbox.js

下面显示的示例代码与Lightbox工作的代码类似。 (将此代码粘贴到文本编辑器上,将其另存为HTML页面并使用Web浏览器打开它)

            

您可以使用fancybox而不是lightbox,它适用于最新的jQuery版本。 最新版本的Fancybox是Fancybox 2 ,您可以从本网站下载 – http://fancyapps.com/fancybox/

实施Fancybox 2的代码

              

更新#1

您需要源文件夹中的所有文件来实现fancybox(helpers文件夹是可选的)。 您需要将fancybox css,js和图像保存在一个位置。 您可以做的是将source文件夹复制到您的Web应用程序目录并将其重命名为fancybox 。 然后你可以从你的html页面调用css文件,js文件。 例如:

   

在此处输入图像描述

有时,当灯箱之前包含其他.js库时,它也不起作用。 把它放在jquery之后。