完全的初学者,所以我可能错过了一些明显的东西,但是...... 我似乎无法将 animate(width) 效果与 this.hide 效果结合起来,我可以通过注释掉另一个来使其中一个起作用。代码如下:
function showSlidingDiv(column){
var maxWidth = 200;
var smallWidth = 80;
var myWidth = $(column).width();
$("div").each(function(){
$(this).animate({width: smallWidth});
$(this).hide();
});
$(column).show();
$(column).animate({width: maxWidth});
}
我在一个大型信息表上使用它,以便用户可以单击第一个标题并展开该信息列,同时减少所有其他信息。每个 td 内部都有一个正在扩展或收缩的 div。如果可能的话,我还想同时隐藏其他列中的 div。就像我说的,这对其中一个有效,但不能同时有效。
任何帮助表示赞赏。 谢谢。
最佳答案
.hide()
不是排队函数,您需要在 .animate()
中调用它回调,如下所示:
$("div").animate({width: smallWidth}, function() {
$(this).hide();
});
或者用这个技巧让它成为一个排队函数:
$("div").animate({width: smallWidth}).hide(0);
不需要 .each()
无论哪种情况,因为上述代码也适用于所有匹配。
关于JQuery - 结合宽度和隐藏效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4166993/