JQuery - 结合宽度和隐藏效果

标签 jquery show-hide

完全的初学者,所以我可能错过了一些明显的东西,但是...... 我似乎无法将 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/

相关文章:

javascript - 在函数执行时显示 javascript 加载程序图像

jQuery - 数据表 - ColumnFilter 不起作用

php - $.ajax 错误无法捕获 php 抛出的异常

php - 从 ajax 响应强制下载 xlsx 不起作用

jQuery UI 拖放 - 如何在拖动开始时隐藏原始容器?

asp.net-mvc - MVC 3 Webgrid - 如何隐藏不希望可见的列?

javascript - 使用 jQuery 设置和获取 localStorage

jquery - 使用 jQuery 悬停时显示,点击时隐藏

javascript - 隐藏具有特定类的所有元素并按 ID 显示

javascript - 使用按钮切换显示/隐藏 div 以获取多个结果