LightBox无法打开 - 可能是一些JavaScript错误

时间:2012-02-06 13:19:08

标签: javascript jquery asp.net .net lightbox

我一直在尝试实施LightBox。我一直在努力遵循“官方”指南并在网上搜索 - 没有任何运气。

问题如下:当我点击图片时,它只是打开,因为它是普通链接。它没有注册我点击了它。我还尝试关注this

如果解决方案需要在jQuery代码中进行某种跟踪,请添加一个关于如何进行跟踪的小注释:)

目前我有以下渲染代码(使用ASP.NET):

图像本身:

<a id="ContentPlaceHolder1_ContentPlaceHolder1_MainImageLink" rel="lightbox" href="../../../Media/ProductImages/KaninbamseKnirke1.jpg">    
    <img id="ContentPlaceHolder1_ContentPlaceHolder1_MainImage" title="Kanin bamse Knirke" class="ProductImage" src="../../../Media/ProductImages/KaninbamseKnirke1.jpg" alt="Kanin bamse Knirke" style="height:280px;width:280px;" />    
</a>

我的头标记(是的 - 路径有效):

<link rel="stylesheet" href="../../../Styles/lightbox.css" type="text/css" media="screen" />

<script src="../../../js/prototype.js" type="text/javascript"></script>

<script src="../../../js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>

<script src="../../../js/lightbox.js" type="text/javascript"></script>

<link href="../../../Styles/StyleSheet.css" rel="stylesheet" type="text/css" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

我的身体标签:

由于我遇到了上述问题,我已尝试使用此活动而不是。 initLightBox是我设置为触发onload的方法,如Lightbox主页所述。

<body id="Masterbackground" onload="initLightbox();" class="badeandnav">

有什么价值 - 我的doctype

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2 个答案:

答案 0 :(得分:1)

你有冲突,jQuery与Prototype。以太删除jQuery如果不使用它,以太网集兼容模式为两者之一。 例如,对于jQuery,您可以设置noConflict(),然后使用jQuery参数调用它。

<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
 jQuery.noConflict();

 // Use jQuery via jQuery(...)
 jQuery(document).ready(function(){
   jQuery("div").hide();
 });

 // Use Prototype with $(...), etc.
 $('someid').hide();
</script>

将jQuery与其他库一起使用: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

答案 1 :(得分:1)

从我在this help page中可以看出,您的灯箱不应该与jQuery一起使用,但应该与Prototype.jsScriptaculous一起使用

如果您要同时使用Jquery和原型,其中一个必须在无冲突模式下运行,否则两者都无法正常工作。 您可以通过首先加载jQuery,然后运行

来完成此操作

jQuery.noConflict()

read the skinny on noConflict here

然后加载原型和scriptaculous。

然后你仍然可以调用jQuery,但不再使用$(),($()将调用prototype.js),但是使用jQuery();