我昨天在这里问了一个问题并获得了一些非常好的帮助,但我需要更多或更少的帮助,只是有点不同。
This是我的老话。
所以,你做了这个,我的想法是你可以自定义表格,以你想要的方式看到它。现在可以拖动列来更改顺序,可以按字母顺序或高/低顺序排列。由于我在这里得到了帮助,现在也可以隐藏列。
现在我想让隐藏过程更加顺畅,因为如果不使用动画,很难看到点击后是否隐藏了某些东西。我用.fadeOut(200);现在,但是当淡化完成时,列只是“跳跃”以填补空白,是否有可能以某种方式为此设置动画?
编辑:在考虑了一些之后,我认为我可以循环-1px宽度,直到元素的宽度为1px然后只是隐藏它,但由于某些原因不能工作,表格不响应.width(xxx );或.css('width','xxx');.它确实改变了值,但是td保持相同的宽度。
答案 0 :(得分:1)
您必须使用jqgrid
或仅用于排序,您可以使用tablesorter
,这很容易实现
答案 1 :(得分:1)
这有点像一种解决方法,并且可能有更好的解决方案,但无论如何它仍然存在:
将不透明度设置为0.0。 Fadeout也是如此,但在完全淡出后它也会设置display:none
。 display:none
导致相邻列跳跃并填补空白。
动画会让隐藏的div留在那里。现在它不再可见,将其宽度设置为0.这将使相邻的div平滑地占据它的位置。
宽度为0后,设置display:none
这是我掀起的一份工作样本。相应地调整动画宽度:http://jsfiddle.net/x7BEv/8/
魔法是如何发生的:
$(document).ready(function(){
$('#button').click(function(){
$('#upper').animate({opacity:0.0},'slow').animate({height:'0px'},'slow',allDone);
});
});
function allDone()
{
$('#upper').hide();
}
我不确定allDone()
方法有多重要。你可能会废除它。