未捕获的TypeError:对象#<object>在Wordpress站点</object>中没有方法'fancybox'

时间:2013-02-08 12:02:26

标签: javascript jquery wordpress fancybox nomethoderror

我有错误

  

未捕获的TypeError:对象#没有方法'fancybox'

在我网站上的JS控制台http://www.e-fashion-awards.com/

正如您所看到的,我在jquery.min.js之后包含了jquery.fancybox.js,并且我只包含一次jquery(在其他主题中看到)。

以下是包含js文件包含和fancybox调用的错误代码:

<link rel='stylesheet' id='fancybox-css'  href='http://www.e-fashion-awards.com/wordpress/wp-content/plugins/fancybox-for-wordpress/fancybox/fancybox.css?ver=3.1.2' type='text/css' media='all' />
<script type='text/javascript' src='http://www.e-fashion-awards.com/wordpress/wp-includes/js/l10n.js?ver=20101110'></script>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js?ver=3.1.2'></script>
<script type='text/javascript' src='http://www.e-fashion-awards.com/wordpress/wp-content/plugins/fancybox-for-wordpress/fancybox/jquery.fancybox.js?ver=1.3.4'></script>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.e-fashion-awards.com/wordpress/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.e-fashion-awards.com/wordpress/wp-includes/wlwmanifest.xml" /> 
<link rel='index' title='E-Fashion Awards &#8211; Concours Jeunes Créateurs' href='http://www.e-fashion-awards.com/' />
<meta name="generator" content="WordPress 3.1.2" />

<!-- Start Of Script Generated By cforms v11.7.3 [Oliver Seidel | www.deliciousdays.com] -->
<link rel="stylesheet" type="text/css" href="http://www.e-fashion-awards.com/wordpress/wp-content/plugins/cforms/styling/cforms.css" />
<script type="text/javascript" src="http://www.e-fashion-awards.com/wordpress/wp-content/plugins/cforms/js/cforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Fancybox for WordPress v3.0.1 -->
<script type="text/javascript">
jQuery(function(){

jQuery.fn.getTitle = function() { // Copy the title of every IMG tag and add it to its parent A so that fancybox can show titles
    var arr = jQuery("a.fancybox");
    jQuery.each(arr, function() {
        var title = jQuery(this).children("img").attr("title");
        jQuery(this).attr('title',title);
    })
}

// Supported file extensions
var thumbnails = jQuery("a:has(img)").filter( function() { return /(jpe?g|png|gif|bmp)$/i.test(jQuery(this).attr('href')) });

thumbnails.addClass("fancybox").attr("rel","fancybox").getTitle();

jQuery("a.fancybox").fancybox({
    'cyclic': false,
    'autoScale': true,
    'padding': 1,
    'opacity': true,
    'speedIn': 500,
    'speedOut': 500,
    'changeSpeed': 300,
    'overlayShow': true,
    'overlayOpacity': "0.8",
    'overlayColor': "#000000",
    'titleShow': true,
    'titlePosition': 'inside',
    'enableEscapeButton': true,
    'showCloseButton': false,
    'showNavArrows': true,
    'hideOnOverlayClick': true,
    'hideOnContentClick': true,
    'width': 560,
    'height': 340,
    'transitionIn': "fade",
    'transitionOut': "fade",
    'centerOnScroll': true
});

所以我真的不知道我的错误来自哪里......

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

尝试

if (thumbnails.length>0) thumbnails.fancybox(//...

$(".fancybox")如果缩略图不足以支持fancybox

因为事实上我没有看到任何主页上任何图片的链接,这可能是原因

答案 1 :(得分:0)

我看不到你的js,但是这个错误看起来就像你用这种方式调用fancybox

object.fancybox()

正确的方法是:

$(object).fancybox()