jQuery UI - 一个交换函数,通过选择器隐藏和取消隐藏元素
-
03-07-2019 - |
题
前言:我在页面上包含了jQuery和jQuery UI。
我定义了这个函数:
function swap(sel) {
if (1 == 1) {
$(sel).hide('drop',{direction:'left'});
}
}
如何修复(1 == 1)部分进行测试以查看该元素是否已被隐藏,然后将其恢复原状。我确信这很容易,但我是jQuery的新手。
解决方案
如果你不喜欢 toggle
,那么这可以帮到你:
function swap(sel) {
if($(sel).is(':visible')) {
$(sel).hide('drop',{direction:'left'});
} else {
$(sel).show('drop',{direction:'left'});
}
}
其他提示
或许 $(sel).toggle();
正是您要找的?这是切换元素可见性的最佳方式。
正如其他回答者所说, toggle()
是最好的解决方案。但是,如果由于某种原因你不能/不想使用切换,并且你的选择器只用于一个元素:
function swap(sel) {
if ($(sel).is(':visible')) { // Is this element visible?
$(sel).hide('drop',{direction:'left'});
}
}
警告:如果元素或其任何父元素是:hidden
,则:visible check将返回误报。如果这对您很重要,您可能需要查看此解决方案也试图检查其中任何一个。
不隶属于 StackOverflow