如何使用持续时间和显示来切换jQuery元素?

时间:2016-05-28 16:24:31

标签: javascript jquery html toggle

当我想切换关闭我可以使用的组件

$("#donkey").toggle(false);

当我需要在特定时间段内切换时,我可以使用

$("#emailInvalid").toggle(700);

但现在我想把这两者结合起来。我想确保组件正在切换关闭(不仅来回切换),而且我想指定进程的持续时间。

根据jQuery API,我应该能够指定一个带选项的对象。但是,以下

$("#donkey").toggle({ duration: 700, display: false });

只能来回拨动驴子(虽然在上述时间内),但我希望将其切换为隐身。当我查看这些选项时,我注意到没有任何地址可以解决 display ,所以我担心上面的内容会被jQuery等同于

$("#donkey").toggle({ duration: 700, biteMe: "in the donkey" });

如何确保切换器隐藏组件(与上面第一行代码等效)我可以控制进程的时间完成(相当于上面第二行代码)?

4 个答案:

答案 0 :(得分:2)

仅在可见时应用切换:

 $('#donkey:visible').toggle(500);

可选地

   var element=$('#donkey');  
    if(element.css('display') !== 'none'){ 
    element.toggle(500);
}

答案 1 :(得分:0)

我认为这就是你想要的 - 如果元素(#donkey)可见,它会被隐藏,如果它被隐藏则没有任何反应。

$( '#button' ).click( function(){
  if( $( '#donkey' ).css( 'display' ) === 'block' ) {
    $("#donkey").toggle( 700 );
  }
});

Codepen:http://s.codepen.io/SteveClason/debug/RRwpBd

答案 2 :(得分:0)

简短回答 - 你不能。

您的选择是构建自定义内容并在自定义代码中执行逻辑。另外,您可能希望在具有您喜欢的外观的不同类之间切换。查看toggleAss()了解详情。

为了完整性,我还会根据@DavidThomas的建议给你一个animate()的链接,虽然我还没有使用过那个。{/ p>

答案 3 :(得分:0)

这个小插件可以让您将两者结合起来:

result = sum(10**(ord(c.upper())-ord('A')) for c in s if c.isalpha())

简单的例子:

ggplot(data = ex,
       mapping = aes(x, y, color = z)) +
  geom_jitter(position = position_jitter(width = 0.02, height = 0.02)) +
  transition_events(start = t, 
                    enter_length = 1,
                    exit_length = 4) +
  scale_color_viridis_c() +
  enter_fade() +
  exit_fade()