2011-07-12 60 views
0

我似乎无法弄清楚这一点。这个jQuery代码内的东西正在打破我的网站:这个jQuery有什么问题?

$('.menu li').click(function() { 
     nextslide = $(this).attr('id').replace('m_', ''); 

     if ($('#m_till').hasClass('active')) 
      currentslide = 'till'; 
     else if ($('#m_receipts').hasClass('active')) 
      currentslide = 'receipts'; 
     else 
      currentslide = 'support'; 

     slide_right(currentslide, nextslide); 
    } 

当我删除此代码,我的网站工作正常。所以它必须是导致这个问题的这个函数中的一些东西。

+0

什么是您的HTML? – amurra

+0

萤火虫........ – Bozho

+1

安装FireBug,在FireFox中执行此操作,并查看控制台显示的错误。 –

回答

10

它看起来像一个孤单在);结束

$('.menu li').click(function() { 
     nextslide = $(this).attr('id').replace('m_', ''); 

     if ($('#m_till').hasClass('active')) 
      currentslide = 'till'; 
     else if ($('#m_receipts').hasClass('active')) 
      currentslide = 'receipts'; 
     else 
      currentslide = 'support'; 

     slide_right(currentslide, nextslide); 
    }); 
+0

至于纠正盲目的问题,这将是我最好的猜测。 –

1
$('.menu li').click(function() { 
    nextslide = $(this).attr('id').replace('m_', ''); 

    if ($('#m_till').hasClass('active')) 
     currentslide = 'till'; 
    else if ($('#m_receipts').hasClass('active')) 
     currentslide = 'receipts'; 
    else 
     currentslide = 'support'; 

    slide_right(currentslide, nextslide); 
} 

//close it 
); 
//close it 
0

最容易的事情缺少做排除任何JavaScript是将部分分配给变量,然后检查的变量。

var a = $('.menu li'); 
a.click(); 

和更多的例子:

var a = $(this); 
var b = a.attr('id'); 
var c = b.replace('m_', ''); 

很可能你引用的东西不存在,假设你的语法是正确的。使用Chrome开发人员工具或Firefox Firebug打破该变量并检查值。