我正在努力解决如何做到这一点。我在一些jQuery UI选项卡中有一些jqGrid元素。为了确保网格填充100%的宽度,我写了一个简单的window.resize
事件。
当用户点击按钮时,我淡出标签,清除并重新加载jqGrids,然后将标签重新淡入。你可以看到它在这里工作:http://jsfiddle.net/qvY9s/7/(点击'重新加载'按钮看它工作了。)
但是,我希望网格一旦开始变得可见就调整大小以填充标签。如果我在选项卡上调用$(window).resize()
后立即调用$(..).fadeIn()
,那么它就不起作用 - 我猜是因为动画尚未启动且网格未显示。
无论如何在淡入淡出效果开始后触发window.resize
?
(如果我能提供帮助,我不想等到最后。)
答案 0 :(得分:2)
你可以设置一个超时直接调用resize函数:
$('#container').fadeIn(2000);
setTimeout(custJqGResize,10);
答案 1 :(得分:1)
答案 2 :(得分:1)
这很好用,在loadGrids()函数的顶部添加这一行:
$('#container').show().css('visible', false);
想法是让容器不可见但在淡化它之前耗尽它的正常布局空间
jsFiddle:http://jsfiddle.net/qvY9s/9/
答案 3 :(得分:0)
您是否尝试过onmousedown和onmouseup事件? onmousedown - >调整 onmouseup - >淡入