为什么lightbox jQuery插件不适合我?
按照这里的说明:在《Murach的JavaScript和jQuery》(第320页和第321页)一书中,我试图将lightbox功能添加到我的站点 我将lightbox.css(和screen.css,这可能也是必需的)添加到我的内容文件夹中,并将lightbox.js和jquery.smooth-scroll.min.js(因为它包含在lightbox下载中,我认为lightbox需要它)添加到我的脚本文件夹中 我还向我的图像文件夹添加了lightbox下载中包含的以下图像:close.png、loading.gif、next.png和prev.png 我已经得到了这个html和jQuery代码(这是整个Default.cshtml):为什么lightbox jQuery插件不适合我?,jquery,html,jquery-ui,jquery-plugins,lightbox,Jquery,Html,Jquery Ui,Jquery Plugins,Lightbox,按照这里的说明:在《Murach的JavaScript和jQuery》(第320页和第321页)一书中,我试图将lightbox功能添加到我的站点 我将lightbox.css(和screen.css,这可能也是必需的)添加到我的内容文件夹中,并将lightbox.js和jquery.smooth-scroll.min.js(因为它包含在lightbox下载中,我认为lightbox需要它)添加到我的脚本文件夹中 我还向我的图像文件夹添加了lightbox下载中包含的以下图像:close.png
@{
Layout=“~/\u siteloayout.cshtml”;
Page.Title=“el Garrapata-Spoon!!!”;
}
$(文档).ready(函数(){
$(“#制表符”).tabs();
});
…但它不起作用:虽然一个缩略图显示在“Spring”选项卡中,但单击它只会导致屏幕大部分变暗-它变为“灰色”,几乎不透明
lightbox下载还包括jquery-1.7.2.min.js和jquery-ui-1.8.18.custom.min.js
我正在引用_siteloayout.cshtml中的较新版本:
<script src="~/Scripts/jquery-2.0.0.min.js"></script>
<script src="~/Scripts/jquery-ui-1.9.2.min.js"></script>
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.4" type="text/css" media="screen" />
<script src="~/Scripts/jquery-2.0.0.min.js"></script>
<!-- May want to replace the above before deploying with use of a CDN:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
OR: <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
..and similar for jquery-ui -->
<script src="~/Scripts/jquery-ui-1.9.2.min.js"></script>
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.4"></script>
这可能是问题所在吗?如果我想使用lightbox,我是否会使用jQuery和jQueryUI的旧版本
顺便说一句,我试图在lightbox的内部论坛上发布这篇文章,但无法登录,无论是Fakebook还是Google(尽管我(不情愿地是前者)都有这两个帐户;还有我尝试过的OpenID jazz,但它似乎期待一个URL…?)
更新
注:我打算尽快给这个问题100分。如果我在那之前得到了答案,我会奖励赏金邮报的答案
更新2
我已经切换到fancyBox,但是当点击“缩略图”时,大的(href)图像仍然在页面的左侧,而不是中间。以下是所有Razor、HTML和jQuery(为了简洁起见省略了一些图像代码):
从_siteloayout.cshtml中选择:
<script src="~/Scripts/jquery-2.0.0.min.js"></script>
<script src="~/Scripts/jquery-ui-1.9.2.min.js"></script>
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.4" type="text/css" media="screen" />
<script src="~/Scripts/jquery-2.0.0.min.js"></script>
<!-- May want to replace the above before deploying with use of a CDN:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
OR: <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
..and similar for jquery-ui -->
<script src="~/Scripts/jquery-ui-1.9.2.min.js"></script>
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.4"></script>
从Default.cshtml:
@{
Layout = "~/_SiteLayout.cshtml";
Page.Title = "Garrapata";
}
<div id="tabs">
<ul>
<li><a href="#tabs-1">Spring</a></li>
<li><a href="#tabs-2">Summer</a></li>
<li><a href="#tabs-3">Fall</a></li>
<li><a href="#tabs-4">Winter</a></li>
</ul>
<div id="tabs-1">
<a class="fancybox" rel="group" href="Images/Fullsize/Landscapes/Spring_2013 04 06_2293.jpg"><img src="Images/Thumbnails/Landscapes/Spring_2013 04 06_2293_th.jpg" width="294" height="196" alt="" /></a>
<a class="fancybox" rel="group" href="Images/Fullsize/Landscapes/Spring_2013 04 06_2295.jpg"><img src="Images/Thumbnails/Landscapes/Spring_2013 04 06_2295_th.jpg" width="294" height="196" alt="" /></a>
</div>
<div id="tabs-2">
</div>
<div id="tabs-3">
</div>
<div id="tabs-4">
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#tabs").tabs();
$(".fancybox").fancybox({
openEffect : 'elastic',
closeEffect : 'elastic'
});
});
</script>
@{
Layout=“~/\u siteloayout.cshtml”;
Page.Title=“Garrapata”;
}
$(文档).ready(函数(){
$(“#制表符”).tabs();
$(“.fancybox”).fancybox({
openEffect:'弹性',
闭合效应:“弹性”
});
});
此外,我在东北角看不到“关闭”按钮——可能是因为占据了所有“顶部”空间的大图像没有留下可见的空间
更新3
现在我看到我在_SiteLayout.cshtml中引用的.css和.js文件应该在/fancybox/source中
似乎不是我现在拥有的,而是:
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.4" type="text/css" media="screen" />
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.4"></script>
……应该采取的措施是:
<link rel="stylesheet" href="~/Content/jquery.fancybox.css" type="text/css" media="screen" />
<script type="text/javascript" src="~/Scripts/jquery.fancybox.js"></script>
…因为我已将这些文件复制到这些位置
它真的必须是你提到的那种特别的方式吗
因为它似乎是基于我所得到的css和js根本找不到,所以我很惊讶它甚至可以像它那样工作…您试图实现的lightbox只在jQueryjQuery-1.7.2或更低版本下工作,而且您不需要
jQuery-ui-1.9.2.min.js
来使lightbox工作
要使此版本的lightbox正常工作,您需要lightbox.css
、jquery-1.7.2.js
和lightbox.js
下面显示的示例代码与Lightbox工作的示例代码类似。(将此代码粘贴到文本编辑器上,将其另存为HTML页面并使用Web浏览器打开)
当lightbox之前包含其他.js库时,有时它也不起作用。把它放在jquery之后。为什么不试试Fancybox而不是Lightbox呢。它是灯箱的替代品,非常容易使用。Fancybox似乎在2.5年内没有更新过();这让我很紧张。我有两个问题。您是否创建了文件夹结构
/fancybox/source/
?2.你从网站下载了fancybox2吗?答案:1)否2)是。相对于其他一切,“/fancybox/source”究竟应该在哪里?我的“内容”文件夹中有jquery.fancybox.css,脚本文件夹中有jquery.fancybox.js,还有图像(fancybox*.gif和fancybox*.gif,以及“close.png”等等,在我的图片文件夹中。这样做。只需在下载的Fancybox文件夹中获取source
文件夹。将source
文件夹重命名为Fancybox
。然后将Fancybox
文件夹中的css文件和js文件正确链接。酷;该代码在IE中运行正常,在Chrome和Fire中运行良好不过,其中一个让我的浏览器发生了各种奇怪的事情:其他选项卡被随意打开,堆栈溢出页面从这个页面切换到了我以前从未访问过的页面,等等。奇怪!无论如何,听起来FancyBox2可能在我的(附近)中未来。当版本2.0.0刚刚发布时,我不喜欢回到版本1.7.2的想法-这是什么,加拿大北部的偏远荒野?!?还有,那只小猫让我想再养一只猫。正如“jQuery 2.0与jQuery 1.9有相同的API,但不支持Internet Explorer 6、7或8”中提到的因此,如果你能使用jQuery 1.9就更好了。我在web开发方面有一些经验,我们总是使用fancybox而不是lightbox,因为它支持几乎所有的浏览器和jQuery的最新版本。这就是为什么我告诉你要使用fancybox的原因,只要你需要,你可以决定:)fancybox可以工作,所以我给你100分的奖励
<html>
<head>
<!-- Add jquery library -->
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<!-- Add fancyBox main JS and CSS files -->
<script type="text/javascript" src="http://fancyapps.com/fancybox/source/jquery.fancybox.pack.js"></script>
<link rel="stylesheet" type="text/css" href="http://fancyapps.com/fancybox/source/jquery.fancybox.css" media="screen" />
<script>
$(document).ready(function(){
$(".fancybox").fancybox({
openEffect : 'elastic',
closeEffect : 'elastic'
});
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">Spring</a></li>
<li><a href="#tabs-2">Summer</a></li>
<li><a href="#tabs-3">Fall</a></li>
<li><a href="#tabs-4">Winter</a></li>
</ul>
<div id="tabs-1">
<a class="fancybox" href="http://pages.swcp.com/~jamii/OtherCats/coco.jpg" rel="lightbox" > <!--Add class "fancybox"-->
<img src="http://pages.swcp.com/~jamii/OtherCats/coco.jpg" width="300" height="200">
</a>
</div>
</div>
</body>
</html>
<link rel="stylesheet" href="../fancybox/jquery.fancybox.css" type="text/css" media="screen" />
<script type="text/javascript" src="../fancybox/jquery.fancybox.pack.js"></script>