未捕获的TypeError:无法调用null(匿名函数)的方法'css' - Joomla 1.5

时间:2012-10-16 17:26:52

标签: javascript jquery joomla joomla1.5

我的问题是Cookie法律栏不会隐藏...... http://www.kasedesign.co.uk/scc/

相同的代码隐藏在我已完成的其他网站上,例如http://www.kasedesign.co.uk/spa/ 我之前没有在Joomla网站上使用过这段代码。

我在这里读到,包含Window OnLoad中的脚本可能会有所帮助,它可以解决我的错误,但是cookie栏没有隐藏。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

在您的spa网站上,文件js/cookielaw.js未被调用,实际上它是由相对网址调用的,/spa/js/cookielaw.js会返回404错误,因此不会加载任何代码。

在您的其他网站(关于汽车)上,网址是绝对的:/scc/js/cookielaw.js所以脚本已加载。

问题是当你调用那个脚本时DOM还没有准备好,所以jQuery会返回错误。

尝试从以下位置更改脚本的开头:

// Cookie Law
// -----------------------------------------------------------------------------

$('html').css('padding-top','35px');
$('.cookiedisclaimer').show();

(function($) {
    //...

// Cookie Law
// -----------------------------------------------------------------------------

(function($) {

    $('html').css('padding-top','35px');
    $('.cookiedisclaimer').show();
    //...

这是更简单,更快捷的解决方法。

更简洁的方法是启动你的脚本:

// Cookie Law
// -----------------------------------------------------------------------------

$(document).ready(function() {
    $('html').css('padding-top','35px');
    $('.cookiedisclaimer').show();
}) ;

(function($) {
    //...

答案 1 :(得分:0)

感谢您的帮助......我意识到有一个cookie脚本被调用,在spa浴室网站中不存在。我会解决这个问题。

我尝试了你的解决方案,但他们没有帮助。

前面提到过,jQuery冲突可能导致我的问题,但后来删除了他们的评论。

因此我添加了以下内容... jQuery.noConflict();

然后我为jQuery替换了$,一切正常。

感谢任何花时间研究这个问题的人!