Fancybox无限循环 - 无法读取未定义的属性'href'

时间:2011-04-30 19:55:08

标签: jquery fancybox

我正在尝试通过fancybox行为向我的网站添加一个灯箱,但是点击图像以使用FF或Chrome进行灯箱检查后使用JS探查器进行检查,我遇到了这个错误的无限循环:

Cannot read property 'href' of undefined

然而,

虽然在关闭或有时会崩溃浏览器时出现错误,但仍会加载图像,但这些调用的无数次以及在HTML源代码中重新创建图像会导致这种情况发生。

这是我带图片的HTML:

<div class="below_shadow" style="top: 0px;">
    <a class="portfolio_link" href="http://mywebsite.com/images/DSC_0258-794x1024.jpg">
    <img class="frame" alt="" src="http://mywebsite.com/images/DSC_0258-794x1024.jpg&amp;h=131&amp;w=180&amp;zc=1" style="top: 0px;">
    </a>
    <span style="display: none;" class="portfolio4_hover">
        <a style="top: 0px; " class="portfolio_image" href="javascript:;">
            <img alt="" src="http://mywebsite.com/images/icon_zoom.png">
        </a>
    </span>
</div>

这是我在JS部分的调用:

jQuery(window).load(function() {
jQuery('.below_shadow a.portfolio_link').fancybox({ 
    padding: 0,
    overlayColor: '#000', 
    transitionIn: 'elastic',
    transitionOut: 'elastic', 
    overlayOpacity: .8,
    showNavArrows: true
});
});

2 个答案:

答案 0 :(得分:0)

Fancybox插件存在同步或调用图像资源的错误。单击图像时,透明div将加载大图像+标题。在某些未知情况下,标题并不总是被加载,这会导致系统中的错误。

即使您的锚点和图像确实具有&#34;标题&#34;属性,似乎有一些fancybox错误导致这个内部循环和泄漏没有正确传递title参数。

答案 1 :(得分:0)

我发现了错误 - 在评估此代码时调用了无限循环:

jQuery(this).find('.portfolio4_hover').show();

老实说 - 不知道为什么,但事实确实如此。如果我评论这一行(并且它是下面的隐藏线),一切正常。