2011-05-07 32 views
2

jQuery的切换功能,我已经在这里创造一个小提琴: http://jsfiddle.net/brombomb/kYsN7/不执行

由于的slideToggle不符合表的(由于显示:块/表行的问题)工作,我曾尝试推出自己的一些我在互联网上找到的代码。正如你所看到的,我已经包含了一些console.log()用于调试目的,但它们永远不会被解雇。我最初有这些作为单独的定义函数,但这是行不通的,所以我把它们卷入切换函数调用。

原始幻灯片表代码:http://www.tino.nl/index.php/2009/08/05/table-animations-in-jquery/

+0

你想要什么? slideUP是什么?当你点击什么时滑动? – jotapdiez 2011-05-07 19:29:53

+0

@jotapdiez这个想法会在上面点击滑动tbody并隐藏它。一秒钟后,点击显示tbody并将其滑下。 – Brombomb 2011-05-07 19:50:15

回答

1

该代码确实有效,我想你可能会误解你所做的。切换功能将点击处理程序附加到所调用的项目上,点击后交替调用两个方法。所以当你点击你的标题时,这个处理程序被附加到到主体。然后点击tbody会导致幻灯片(尝试它,这工作)。

我想你真的打算把处理程序附加到头部。我假设你打算点击头部做隐藏。更多的东西是这样的:

http://jsfiddle.net/kYsN7/13/

这个节目是不工作的权利,但我认为结构沿着你打算什么线条更。

+0

上钉牢它。我在tbody上附加切换。我想连接到thead的切换,但影响tbody。知道了这一切,并运行。 – Brombomb 2011-05-07 23:09:47

+0

下面是针对未来任何问题的完整工作版本:http://jsfiddle.net/brombomb/kYsN7/17/在@kingjiv版本中,他将回拨的幻灯片更改为隐藏错误的元素。现在它正确地隐藏了tr而不是整个body元素。 – Brombomb 2011-05-07 23:28:50

+0

看起来不错,乐意帮忙 – 2011-05-08 00:10:57

0

是你真正想要slide影响到你的td元素?

没有动画,可以简单do it

$('#horseStable table thead').click(function() { 
    if ($("#horseStableBody td").is(":visible")) { 
     $("#horseStableBody td").hide(); 
    } else { 
     $("#horseStableBody td").show(); 
    } 

    return false; 
}); 
+0

是的,我真的想要幻灯片元素。我网站上的其他一些功能都实现了滑动切换。为了保持一致,我想滑动切换。 – Brombomb 2011-05-07 19:46:24

1

只是这样做:

$('#horseStable table thead').click(function() { 
     $('#horseStableBody').slideToggle(); 
    }); 

就是这样。我在你的jsfiddle中测试过它,它工作正常。 希望这有助于。干杯

+0

我没有看到它在我的小提琴中工作(即使使用您的代码)。 jQuery动画套件是为切换块级元素而构建的。该表使用表格行而不是块,因此不起作用。至少不是在FF 3.6或FF 4 – Brombomb 2011-05-07 19:49:27