jQuery切换不需要动画

ggz*_*one 2 jquery animation

我可能会失明或没有参数,选项或任何禁用动画的内容:

.toggle()

我只想通过toggle()来显示()和隐藏()它们但是我使用slideToggle,fadeToggle甚至普通切换的每个切换都带有动画.

如何"删除"他们?

小智 15

只需确保toggle()的参数解析为true,而不是1.

toggle(1); // animation 
toggle(true); // no animation.
Run Code Online (Sandbox Code Playgroud)

  • 这不适合我.设置切换(true)意味着我只能显示内容不会再次隐藏它. (7认同)

ade*_*neo 6

如果没有提供参数,则toggle()立即生效.

slideToggle()和fadeToggle()使用动画的默认值,使它们立即生效,传递值'0';

这些都是相同的,只显示和隐藏元素:

$('button').on('click', function() {
    ToggleElement.toggle();
});

$('button').on('click', function() {
    ToggleElement.slideToggle(0);
});

$('button').on('click', function() {
    ToggleElement.fadeToggle(0);
});
Run Code Online (Sandbox Code Playgroud)

小提琴

然而,没有理由在没有动画的情况下使用底部两个,因为那种方式会失败.

更快一点就是element.style.display = 'none'/'block'在if/else语句中使用原生的javascripts .