0

我在网站上的所有页面上都使用 jquery coda slider 2.0,它可以正常工作,例如http://www.virtualmob.co.uk/solutions.html

但是当我在画廊页面上添加画廊时http://www.virtualmob.co.uk/gallery.html

它与 web.js 冲突并在浏览器上给我一个下面提到的错误:

未捕获的类型错误:无法调用 null 的方法“removeClass”

在行号 jquery.coda-slider-2.0.js:9

我试过$.noConflict(); 就像我在下面提到的那样,

$.noConflict();
$(function(){
// Remove the coda-slider-no-js class from the body
$("body").removeClass("coda-slider-no-js");
// Preloader
$(".coda-slider").children('.panel').hide().end().prepend('<p class="loading">Loading...<br /><img src="images/ajax-loader.gif" alt="loading..." /></p>');
});`

但它仍然不起作用并显示以下错误

 Uncaught TypeError: Property '$' of object [object Window] is not a function 

我也尝试在 web.js 上添加它,但这也对我没有帮助

请指导如何消除冲突可以消除?

4

2 回答 2

1

您正在使用$in $.noConflict,如果要避免冲突,请使用jQuery关键字而不是 the$并将返回值保存在变量中:

var $ref = jQuery.noConflict();
$ref(function(){
  // ... 
})

您还可以将代码放入闭包中:

(function($){
    $(function(){
       $('body').foo()
    })
})(jQuery);
于 2012-12-01T00:28:33.747 回答
0

对于其他用户,下面提到它解决了:

我使用下面提到的行,就像上面帖子中的指导一样

(function($){
    $(function(){
       $('body').foo()
    });
})(jQuery);

然后我移动$.document.ready我的html页面上的脚本以将脚本启动到js文件并且它可以工作。:)

于 2012-12-01T00:42:35.830 回答