Jquery conflict

时间:2011-08-02 作者:mmoore5553

我一直在尝试修复jquery问题。我的标题中有很多jquery。我将其用于滑块和其他内置于此预制主题中的内容。由于冲突,我无法添加任何使用jquery的内容。我需要一些帮助。董事会地址:www.cghat。com。忘记的密码是jquery,滑块也由jquery控制。我想添加另一个插件,但由于冲突无法添加。还有忘记的密码jquery。我需要知道哪里出了问题,以及如何修复它。如果我在标题中删除对javascript的调用,它是固定的。忘记的密码有效,但其他一切都会中断。

<?php wp_enqueue_script("jquery"); ?>
<?php wp_head(); ?>

<script type="text/javascript" src="<?php bloginfo(\'template_url\'); ?>/js/jquery.equalHeight.js"></script>
<script type="text/javascript" src="<?php bloginfo(\'template_url\'); ?>/js/flashobject.js"></script>
<script type="text/javascript" src="<?php bloginfo(\'template_directory\'); ?>/js/jquery.js"></script>
<script type="text/javascript" src="<?php bloginfo(\'template_directory\'); ?>/js/jquery.jcarousel.js"></script>
<script type="text/javascript" src="<?php bloginfo(\'template_directory\'); ?>/js/jquery.actions.js"></script>
<script type="text/javascript">
 jQuery(document).ready(function($){
var fC=$(\'#features-nav .features-nav-item\').length;
curS=1;
var cInt=0;
    cInt=setInterval(function(){
        $(\'#features-nav .features-nav-item:eq(\'+curS+\')\').addClass(\'current\').trigger(\'click\');
        curS++;
        if(curS>=fC) curS=0;
    },10000);});

</script> 



</head>

2 个回复
最合适的回答,由SO网友:Jared Cobb 整理而成

我看到的至少一个问题是,您至少两次包含jQuery框架。第一行

<?php wp_enqueue_script("jquery"); ?>
是包含jQuery的首选方法。WordPress的安装碰巧包括jQuery版本1.4.2。这使得优秀的插件和主题开发人员能够利用jQuery,而不会意外地多次手动包含它。

但你也有(第6行)

<script type="text/javascript" src="<?php bloginfo(\'template_directory\'); ?>/js/jquery.js"></script>
其中包括jQuery 1.2.6。也许你的一个插件正在尝试注入这个?或者,这可能是在您的主题中生成的(在这种情况下,您可以将其删除,前提是您的插件与jQuery的内置版本1.4.2兼容)。

解决该问题后,任何进一步的javascript错误都可以隔离到特定的脚本或插件。

EDIT: Addition info...

现在您已经删除了额外的jquery include,出现了一个不同的错误。使用Firebug或Chrome的调试器或您最喜欢的其他JavaScript调试器,您可以看到新错误为:

$ is not a function (jquery.actions.js, line 18)
这意味着您正在尝试使用jQuery速记选择器,但已经使用完整的“jQuery”对象名称语法包装好了文档。

在jquery中。行动。js,将每个“$”引用替换为“jQuery”。

这将使滑块正常工作。但您也会注意到JavaScript中还有其他错误。。。

pos is null (undo.js, line 367)

threads[x] is undefined (_display, line 915)
根据这些错误对站点的影响,您可能关心这些错误,也可能不关心这些错误。为了性能和稳定性,我倾向于消除所有错误。一些浏览器会比其他浏览器崩溃得更严重。

SO网友:Chip Bennett

有两件事:

呼叫wp_head() must come immediately before the closing </head> tag.enqueueing all scripts, 包括任何必要的依赖项custom.js, 并使用$deps 参数,以确保所有加载顺序正确例如,从文档头中删除所有脚本调用,然后在中添加以下内容functions.php:

function mytheme_enqueue_scripts() {
    $scriptsrc = get_template_directory_uri() . \'/js/\';
    wp_enqueue_script( \'jquery\' );
    wp_enqueue_script(
        \'flashobject\',
        $scriptsrc . \'flashobject.js\'
    }
    wp_enqueue_script(
        \'equalheight\',
        $scriptsrc . \'jquery.equalHeight.js\',
        array( \'jquery\' )
    }
    wp_enqueue_script(
        \'jquerycarousel\',
        $scriptsrc . \'jquery.carousel.js\',
        array( \'equalheight\' )
    }
    wp_enqueue_script(
        \'jqueryactions\',
        $scriptsrc . \'jquery.actions.js\',
        array( \'carousel\' )
    }
    wp_enqueue_script(
        \'custom\',
        $scriptsrc . \'custom.js\',
        array( \'actions\' )
    }
}
add_action( \'wp_head\', \'mytheme_enqueue_scripts\' );
这应该可以解决您在脚本/库冲突方面遇到的任何问题。

然后,你需要确保你是sing jquery no-conflict wrappers properly.

结束

相关推荐

用于多个列表的WordPress/jQuery分页插件

我有3个短代码。它们中的每一个都将显示一个列表。PS>列表不包含wordpress帖子/页面。有没有任何WordPress插件可以达到这个目的?或请向我推荐一个jQuery插件,该插件使用Ajax获取后续页面数据,并可用于我的场景。