jQuery:如何制作可折叠的树导航?
我有标题,每个标题都有子项。 当我点击标题时,我希望它切换查看或显示标题内容:
这是我到目前为止:
$j('h2').click(function() { if ($j(this).next().is(":hidden")) { $j(this).next().show(); } else { $j(this).next().hide(); } });
我的HTML看起来像这样:
您可以按照它的方式执行此操作,或使用.slideToggle()
使用幻灯片效果,如下所示:
$('h2').click(function() { $(this).next().stop(true, true).slideToggle(); });
你可以在这里测试一下
或者使用.toggle()
( 在此测试 )立即没有幻灯片效果:
$('h2').click(function() { $(this).next().toggle(); });
或使用.toggle(speed)
( 此处测试 )的幻灯片+淡入淡出效果,如下所示:
$('h2').click(function() { $(this).next().stop(true, true).toggle("fast"); });
在每种情况下,对.stop()
的调用都是为了防止动画队列的建立。 这段代码适用于$ == jQuery
大多数用户,看起来你正在使用.noConflict()
所以只需将$
替换$
$j
就像你当前的代码一样。
这是一个关于这个主题的好教程:
http://homework.nwsnet.de/news/ea21_turn-nested-lists-into-a-collapsible-tree-with-jquery
如果你想继续使用列表中的
标签,你将不得不稍微调整一下,但这应该是微不足道的。