我正在DataList中实现这个JQuery Lightbox插件:
如果链接在DataList之外,我测试了这段代码:
$('a[@rel*=lightbox]').lightBox();
但它似乎没有拿起DataList里面有“rel = lightbox”的链接。
所以我去了digigng并尝试从这里吸取教训:
想出来但似乎不起作用:
$('a.imageActivator').live("click", function() {
jQuery.lightBox();
});
出了什么问题?
答案 0 :(得分:0)
我认为您需要在点击功能中添加return false;
。
答案 1 :(得分:0)
我尝试过JQuery Lightbox和JQuery Fancybox。
JQuery Lightbox (如上所述)似乎提出了lightBox()无法绑定/链接到Click事件的问题。
JQuery Fancybox 提出了必须单击TWICE才能激活图像的问题。并且它也没有显示第二张图像(但再次显示相同的第一张图像)。
所以最后,我违反了标准而使用了Lightbox2 :
这个问题是与全局声明的JQuery的$冲突。所以这是我做了一些研究之后的诀窍。
按如下方式对脚本进行排序:
<script type="text/javascript" src="/scripts/prototype.js"></script>
<script type="text/javascript" src="/scripts/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="/scripts/lightbox.js"></script>
<script type="text/javascript" src="/scripts/jquery-1.4.2.js"></script>
JQuery脚本必须有“jQuery.noConflict();”作为第一线。页面上使用的任何JQuery $符号都必须更改为“jQuery”。例如:
<script type="text/javascript">
jQuery.noConflict();
jQuery(function() {
jQuery('a.activator').live("click", function() {
jQuery('#enquireOverlay').fadeIn('fast', function() {
jQuery('#box').animate({ 'top': '160px' }, 500);
});
});
jQuery('#boxclose').click(function() {
jQuery('#box').animate({ 'top': '-200px' }, 500, function() {
jQuery('#enquireOverlay').fadeOut('fast');
});
});
});
</script>
这使我能够使用与jQuery脚本共存的Lighbox。