为什么jquery Isotope在我的本地机器上运行但不在线

时间:2013-05-20 05:58:09

标签: jquery wordpress localhost mamp jquery-isotope

在我的localhost网络服务器上,这些脚本正常加载并且运行正常,但在我的BlueHost帐户中,我的控制台正在向我提供有关Isotope没有对象的错误。

代码:

<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/jquery.isotope.js"></script>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/jquery.infinitescroll.js"></script>

<script type="text/javascript">
$(window).load(function(){
    $.ajaxSetup({ cache: false });
        var $container = $('#articlePost');


            $container.isotope({
                masonry: { columnWidth: $container.width() / 3}
                });


            $(window).smartresize(function(){
                $container.isotope({
                // update columnWidth to a percentage of container width
                masonry: { columnWidth: $container.width() / 3}
            });

            $container.isotope('reLayout');

    });
});

</script>

以下是Chrome控制台错误:

Uncaught TypeError: Object [object Object] has no method 'isotope' www.theciv.com:92
(anonymous function) www.theciv.com:92
jQuery.event.dispatch jquery-1.9.1.js:3074
elemData.handle

1 个答案:

答案 0 :(得分:1)

页面1.9.1和1.8.3中加载了两个版本的jQuery。

一个加载在标题(1.9.1)

<script type="application/javascript" src="http://www.theciv.com/wp-content/themes/toolbox/js/jquery-1.9.1.js" /></script>

另一个来自wordpress

<script type='text/javascript' src='http://www.theciv.com/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script>

我认为这是原因,删除其中一个并且它应该可以正常工作

或使其与jQuery.noConflict()

兼容
jQuery(function($){
    $.ajaxSetup({ cache: false });
    var $container = $('#articlePost');

    $container.isotope({
        masonry: { columnWidth: $container.width() / 3}
    });

    $(window).smartresize(function(){
        $container.isotope({
            // update columnWidth to a percentage of container width
            masonry: { columnWidth: $container.width() / 3}
        });

        $container.isotope('reLayout');

    });
});