jQuery切换和隐藏或显示隐藏是否有比这更好的方法(包括jsfiddle)
在我正在使用的应用程序中,它使用jQuery切换主要用于打开和关闭div。 我知道使用show和hide可以完成相同的效果。 我在这个jsfiddle中有一个例子。 两种方法都比另一方好吗? 或者是否有另一种方法更有效并且兼容打开和关闭div只允许一次打开? 谢谢
此外,如果重要的话,我正在移动我的应用程序以使用Twitter Bootstrap
Toggle Method Box One Box Two Show Hide Method Box One Box Two
我建议从HTML部分中删除样式和操作。
并且不要尝试优化它:在这些基本的jQuery操作上没有性能问题,唯一重要的是代码的可读性:确保你的HTML,CSS和Javascript是显而易见的。 不要试图制作太聪明的javascript:如果你不能立即看到它的作用,就存在可维护性问题的风险。 并且依赖于id,类和特定属性,而不是在更改页面时无法跟上的订单属性。
这是我改变你的小提琴的方式: http : //jsfiddle.net/PRVm8/
HTML:
Toggle Method Box One Box Two Show Hide Method Box One Box Two
Javascript:
$('.button1[target="boxone"]').click(function(){ $('#boxtwo').hide(); $('#boxone').toggle(); }); $('.button1[target="boxtwo"]').click(function(){ $('#boxone').hide(); $('#boxtwo').toggle(); }); $('.button2').click(function(){ $('.box2').hide(); $('#show'+$(this).attr('target')).show(); });
jsFiddle演示
“……允许一次打开一个人”
HTML:
Super method Box One Box Two Super method Box One Box Two
CSS:
.box{ display:none; }
jQuery的:
$('.action-buttons').on('click','a',function(e){ e.preventDefault(); var $allbox = $(this).closest('.wrapper').find('.box'), $box = $allbox.eq( $(this).index() ), doIt= ($box.is(':visible')) ? $box.slideUp() : ($allbox.slideUp()) ($box.slideDown()); });
我不知道jQuery中更好的方法,但另一种方法是使用:
- jQuery UI手风琴
要么 - jQuery UI选项卡 。