0

我在这个网站上使用 js 没有冲突http://tidypools.com/tid-temp

Fancy box 在 Firefox 上不起作用。当我使用萤火虫时,它给了我以下错误:

错误行:99

Safari 也报错:

TypeError: '[object Object]' 不是函数('...} 附近)(jQuery); //关闭否...')

当我打开脚本第 99 行时,它是我脚本中的最后一行:

})(jQuery); //CLOSE NO CONFLICT//

我尝试了一个 js 清洁器,去掉括号、分号、移动等......似乎没有任何效果。有什么问题的任何想法。谢谢你们。

这是 js http://tidypools.com/tid-temp/js/plugins.js的链接,因为它比在这里复制更容易阅读。


@Kreshnik Hasanaj

这是 plugin.js 文件中花式框的代码:

        // ******************************** LIGHTBOX ********************************
    $(".fancybox").fancybox();
    $(".grouped_elements").fancybox({
        helpers: {
            title: {
                type: 'inside'
            }
        }
    })
});
// ******************************** LIGHTBOX MOBILE ********************************
$(".mobile_grouped_elements").attr('rel', 'gallery').fancybox({
    padding: 0,
    margin: 5,
    nextEffect: 'none',
    prevEffect: 'none',
    autoCenter: true,
    afterLoad: function() {
        $.extend(this, {
            aspectRatio: true,
            type: 'html',
            width: '90%',
            height: '80%',
            content: '<div class="fancybox-image" style="background-image:url(' + this.href + '); background-size: cover; background-position:50% 50%;background-repeat:no-repeat;height:100%;width:100%;" /></div>'
        });
    }
});
4

2 回答 2

1

从代码的第一眼看,问题并不明显。

你有这个:

//**************************************************************************
// ******************************** NO CONFLICT ********************************
jQuery.noConflict() // return `$` to it's previous "owner"
(function($) { // in here you're assured that `$ == jQuery`

// ... left out code that is not important for the problem ....

})(jQuery); //CLOSE NO CONFLICT//

这部分的问题是jQuery.noConflict()你错过了一个;.

对于 JS 解释器,它看起来像:

jQuery.noConflict()(
    function($) {
    }
})(jQuery);

并且因为jQuery.noConflict() 没有返回函数,所以您会收到此错误。为了避免此类问题,;即使在某些情况下可以省略,也要添加。

于 2013-06-11T21:04:57.207 回答
0

更新

除了缺少 t.niese 所说的分号外,我刚刚意识到我在第一个灯箱代码的第 8 行有一个额外的“})”,它导致了问题。

我把它改成

// ******************************** LIGHTBOX ********************************
    $(".fancybox").fancybox();
    $(".grouped_elements").fancybox({
        helpers: {
            title: {
                type: 'inside'
            }
        }
    });

它现在正在工作。

感谢大家的帮助!

于 2013-06-12T04:24:05.427 回答