两个jQuery的脚本之间的冲突

我是西class牙人(对不起我的英语),这是我第一次在这里写点什么。

经过几个小时的调试和搜索为什么Fancybox脚本不起作用我搜索我网站上的两个脚本之间的冲突(现在处于维护模式)

我在我的网站上使用了一些脚本,但我可以肯定地说我在这两个脚本之间存在冲突:

http://www.planetdescargas.com/wp-content/themes/bigfoot/javascripts/jquery.mousewheel-3.0.4.pack.js http://www.planetdescargas.com/wp-content/themes/bigfoot/javascripts/jquery.fancybox-1.3.4.pack.js 

 http://www.planetdescargas.com/wp-content/plugins/buddypress/bp-themes/bp-default/_inc/global.js?ver=3.0.5 

前两个脚本是jquery“ fancybox ”的插件,另一个是wordpress插件的主要javascript(Ajax):BuddyPress。

后者在fancybox中产生冲突。 如果我删除BuddyPress的脚本,fancybox可以正常工作,但如果没有,fancybox不起作用。

BuddyPress的脚本global.js在开头就定义了一个变量,它是制作脚本的变量。 我试着用这种方式定义它:

var jq = jQuery.noConflict();

但仍然没有工作。

有什么建议?

在Firebug控制台中我得到了这个:

 c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || a] is not a function 

[Detener en este error] e,this.options.orig [e]); this.options.c … ++)ab || a.splice(b – ,1); a.length ||

第143行

 http://www.planetdescargas.com/wp-includes/js/jquery/jquery.js?ver=1.4.2 

谢谢

只需使用这种方式。

打开wp-content/plugins/buddypress/bp-themes/bp-default/_inc/global.js

加在上面:

 jQuery.noConflict (jquery_working =! html bind); 

转到#1264
添加以下内容:

 ;(function(jQuery){ ///Add this before start jQuery.easing. jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing, {def:"easeOutQuad",swing:function(e,f,a,h,g){return ...... // ... })(jQuery); //Add this end of the call. 

同样,您可以解决jQuery Cookie插件冲突错误。

这不是你如何使用jQuery.noConflict()noConflict()释放$符号的控制权。 从我从其他脚本看到的,他们使用安全的方式( (function($){ }(jQuery)) )所以使用noConflicts()没有实际效果。

改变这个

 var jq = jQuery.noConflict (); 

进入这个:

 jQuery.noConflict (); var jq = jQuery; 

确保;确定。

文档: http : //api.jquery.com/jQuery.noConflict/

我不知道出了什么问题,但我解决了这个问题。 我在我的主题根目录中的functions.php中使用此代码:

  function fancybox_js() { wp_enqueue_script('jquery.fancybox', 'http://www.planetdescargas.com/wp-content/themes/bigfoot/javascripts/fancybox/jquery.fancybox-1.3.4.pack.js', array('jquery'), '1.3.4'); wp_enqueue_script('jquery.easing', 'http://www.planetdescargas.com/wp-content/themes/bigfoot/javascripts/fancybox/jquery.easing-1.3.pack.js', array('jquery'), '1.3'); wp_enqueue_script('jquery.mousewheel', 'http://www.planetdescargas.com/wp-content/themes/bigfoot/javascripts/fancybox/jquery.mousewheel-3.0.4.pack.js', array('jquery'), '3.0.4'); } add_action('wp_enqueue_scripts', 'fancybox_js', 999); 

我从一个名为Easy Fancybox的wordpress插件中获取了库,现在一切正常。 谢谢!