【发布时间】:2011-08-12 15:00:52
【问题描述】:
我是西班牙人(对不起我的英语),这是我第一次在这里写信问一些事情。
经过数小时的调试和搜索 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
谢谢
【问题讨论】:
-
好吧,当 global.js 脚本在页面中时,Fancybox 不起作用
-
Juan:请使用 Chrome 或 FireFox,然后分别打开开发者工具或 FireBug 并检查控制台是否有错误。我认为会出现错误,因为您的脚本没有执行任何操作,因此请使用错误消息编辑您的问题。
-
在 Firebug 控制台中我得到了这个: c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || a] 不是函数 [Detener en este error] e,this.options.orig[e]);this.options.c...++)a[b]()||a.splice(b-- ,1);a.长度|| planetdescargas.com/wp-includes/js/jquery/jquery.js?ver=1.4.2的第 143 行
-
请尝试删除
noConflict()函数。我可以很容易地想象杀死其他脚本。 -
无论是否使用 noConflict(),我都会遇到同样的错误
标签: jquery fancybox conflict buddypress