当前位置:  开发笔记 > 编程语言 > 正文

隐藏然后使用jQuery显示div

如何解决《隐藏然后使用jQuery显示div》经验,为你挑选了1个好方法。

我想滑动一些div,然后slideDown 1 div.但是,我遇到了一些问题.

$("#divDocument,#divLocation").slideUp("normal", function()
    { $("#divSearch").slideDown("normal", doStuff()); });

使用此代码,divDocument是可见的,divLocation不可见.由于divLocation已经隐藏,doStuff()事件会立即触发,即使divDocument尚未隐藏.

$("#divDocument).slideUp("normal", function()
    { $("#divSearch").slideDown("normal", doStuff()); });

这段代码工作正常,因为它在调用doStuff()之前等待divDocument完全隐藏.我在这里使用多元素选择器错了吗?我做错了什么吗?



1> Paolo Bergan..:

如果divLocation已经可见,为什么不先隐藏它?

$("#divDocument,#divLocation").hide().slideUp("normal", function() { 
    $("#divSearch").slideDown("normal", doStuff()); 
});

编辑:
对不起,我很困惑.slideUp用于隐藏元素.出于某种原因,我认为这是为了向他们展示.在这种情况下,你可以这样做:

$("#divDocument,#divLocation").filter(':visible').slideUp("normal", function() { 
    $("#divSearch").slideDown("normal", doStuff()); 
});

使用:visible过滤器,它只会slideUp在可见的任何元素上执行,因此可以隐藏它们slideUp.我猜这是你正在寻找的,因为没有必要隐藏已经隐藏的元素.如果你想暂时显示隐藏的那个然后slideUp它,你可以只是将我的原始答案从切换hide()show()然后执行slideUp.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有