Javascript 使用bgStretcher时可能发生jQuery冲突

Javascript 使用bgStretcher时可能发生jQuery冲突,javascript,jquery,wordpress-theming,Javascript,Jquery,Wordpress Theming,在将bgStretcher添加到自定义Wordpress主题之前,我已经设置了一个测试html页面来使用它。当我使用jQuery版本时,它工作正常: <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script> 打开,但当我使用Wordpress中包含的版本时,它停止工作: <script type="text/javascript" src=

在将bgStretcher添加到自定义Wordpress主题之前,我已经设置了一个测试html页面来使用它。当我使用jQuery版本时,它工作正常:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>

打开,但当我使用Wordpress中包含的版本时,它停止工作:

<script type="text/javascript" src="http://pebbl.es/test/wp-includes/js/jquery/jquery.js?ver=1.6.1"></script>

我所看到的两个文件之间的唯一区别是,WP版本在最后调用noConflict()来防止jQuery冲突

页面(下面的html)加载第一个图像,但随后控制台输出错误:

未捕获的TypeError:无法读取未定义的属性“fn” (匿名功能)

实时版本已打开:。有关如何修复此问题的任何想法?我可以看出这是一个冲突错误,但我看不出在哪里/如何修复它?非常感谢

<html>
<head><title>Test</title>
<script type='text/javascript' src='http://pebbl.es/test/wp-includes/js/jquery/jquery.js?ver=1.6.1'></script>
<script type="text/javascript" src="bgstretcher.js"></script>
<link rel="stylesheet" type="text/css" href="bgstretcher.css">

<script type="text/javascript">
    jQuery(document).ready(function($){
        jQuery('body').bgStretcher({
            images: ['Rochy_Coleccion1.jpg', 'Rochy_Coleccion2.jpg'], imageWidth: 1024, imageHeight: 748
        });
    });
</script>
</head>
<body>
</body>
</html>

试验
jQuery(文档).ready(函数($){
jQuery('body').bgStretcher({
图片:['Rochy_Coleccion1.jpg','Rochy_Coleccion2.jpg',图片宽度:1024,图片高度:748
});
});
为jQuery命名名称空间:

将此添加到两个脚本标记之间:

var $my_jq = jQuery.noConflict();
在此之后,您的1.6.1 jQuery将处于无冲突模式。 在此之后,您必须使用变量名来调用它,例如,
$my_jq(“#content”)

更新

这可能不起作用,我看到您没有加载2个不同的jQuery,您的问题发生在尝试将bgstretcher与已经处于noConflict模式的jQuery一起使用时

我不是wordpress专家,但您可以更改wordpress jQuery以使用您的变量名。您可以在noConflict模式下将jQuery设置为一个变量,无论是否将其命名为一个变量,看起来您的wordpress JQ都不需要。 或者,您可以首先加载自己的jQuery,对其命名,然后将其用于bgstretch。 问题是noConflict调用再次“释放”了$变量,以便与希望使用它的不同框架一起使用,因此您的bgstretch在尝试调用$时出错

或者试着完全删除noConflict,看看它是否对wordpress的安装有任何影响(不应该,我想这只是为了让WP用户能够使用不同的JS框架)


希望你能解决这个问题。

在Wordpress的“包含jQuery”末尾已经有一个对noConflict()的调用。我尝试了你的建议,但没有成功:重新阅读你的问题并查看你的现场站点后,我更新了我的答案。解决方案是将背景拉伸js从bgStretcher更改为超大。BgStretcher在与Wordpress共享jQuery时表现不佳:加载幻灯片上的第一张幻灯片,但它在第二张幻灯片上卡住了。Supersized可以与WP共享同一个jQuery,并且它可以很好地处理无冲突:jQuery(function($){$.Supersized(…等等。谢谢!