前言:我在页面上包含了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'});
  }
}

其他提示

为什么不使用切换()

例如:

function swap(sel) {
  $(sel).toggle();
} 

或许 $(sel).toggle(); 正是您要找的?这是切换元素可见性的最佳方式。

正如其他回答者所说, toggle()是最好的解决方案。但是,如果由于某种原因你不能/不想使用切换,并且你的选择器只用于一个元素:

function swap(sel) {
    if ($(sel).is(':visible')) {  // Is this element visible?
       $(sel).hide('drop',{direction:'left'});
    }
}

警告:如果元素或其任何父元素是:hidden ,则:visible check将返回误报。如果这对您很重要,您可能需要查看此解决方案也试图检查其中任何一个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top